laravel笔记

本文详细介绍了如何在Laravel中使用Eloquent ORM进行数据库操作,包括增删查改、批量赋值、时间戳处理等。同时,文章还探讨了Blade模板引擎的使用,如视图扩展、流程控制、URL生成等,为 Laravel 开发者提供实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库操作-Eloquent ORM
今日之内把数据库增删查改做了
namespace App;
use  Illuminate\Database\Eloquent\Model;
class Sale extends Model{
    protected $table='sale'
    //指定表名

    protected $primaryKey='id';
    //指定id

    public $timestamps=false(or true);
    //自动维护时间戳
    protected function getDateFormat(){
        //自动格式化当前时间戳
        return time();
    }
    protected function asDataTime($val){
        //不让模型格式化时间戳
        return $val;
    }
    protected $fillable=['name','age'];
    //允许批量赋值的字段  设置了这个 下面的create方法才能使用
    protected $guarded=[];
    //指定不能批量赋值的字段
}
controller里面使用orm

public  function orm(){

   $obj= Sale::all();
    //查询所有数据
    ::find(id);
    //查询一条与参数匹配的数据
    ::findOrFail(id)
    //查找一条数据 不匹配则异常抛出
    ::get();
    //查找一个表的所有数据
    ::where()->get();
    //查找加条件
    or ::where()->orderBy()->first();
  聚合函数也是用 -> 连接 sum() avg() count() max() min()


}
public function add(){
    $obj=new Sale();
    //新增数据的话
    $obj->name='test';
    $bool=$obj->save();
    if($bool){
    //返回值是boolean 如果正确 则直接跳转到显示页面
    redirect('showList');
    }else{

    }

}

public function learnCreate(){
   $goods= Sale::create(
    //创建新数据
    ['name'=>'test','price'=>'999']
    )
    dd($goods);

    Sale::firstOrCreate(['name'=>'test']);
       //查找该条nametest 的数据
       //如果没有该条数据则自动新建

    Sale::firstOrNew(['name'=>'firstOrNew']);
    //以属性查找用户 若没有则建立新的实例  需要保存则自己调用save();
 }

 public function update(){
  $one=Sale::find(1);
  //找到id1的数据
  $one->name='修改';
  $bool= $one->save();
  //保存后返回布尔值

  批量更新
  $num=Sale::where('price','>','500')->update(['class'=>'轻奢']);
  //返回更新行数

 }

 public function del(){
    //通过模型删除
    $one=Sale::find(1);
   $boolean= $one->delete();
    //删除返回布尔值


    //通过主键删除
    $num=Sale::destroy(1);
        ::destroy(1,2);
        //可指定 也可以用数组
        ::destroy([1,2]);
    //返回影响行数

   $num= Sale::where('id','=','1')->delete();
    //同样返回影响行数
 }
 Blade 模版引擎学习

 @section('');
 //可扩展模版
   @stop @show

 @yield('');
 //占位符 不可扩展 通常用来写标题


流程控制
@if($name=='')
//判断输出
@elseif($name=='')

@else

@endif



@unless($name='')
//if的取反
@endunless

@for ($i=0;$i<$number;$i++)
 <p>{{$i}}</p>
@endfor

@foreach($sale as $val)
<p>{{$val->name}}</p>
@endforeach

@forelse($sale as $val)
//如果不为空则遍历出来
<p>{{$val->name}}</p>
@empty
//如果为空 则做相关操作
@endforelse

模版中的URL
//三个函数
url()
//通过url地址

action()
//通过controller的方法

route()
//通过路由的别名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值