Laravel查询搜索函数集合:find  first  firstWhere firstOr findOrFail firstOrFail firstOrNew firstOrCreate

查找的三个all  get find

find的带条件  get获取所有   all获取所有

查找:这三个都是1行数据的

find进行$users->find(1);find(里面的是id)

first 方法返回集合中通过指定条件测试的第一个元素:

firstWhere 方法返回集合中含有指定键 / 值对的第一个元素:
 

查找:带or的是会抛出异常

firstOr 方法将会在查找到结果时返回首个结果,如果没有结果,将会执行给定的回调;

findOrFail方法会检索查询的第一个结果,如果未找到,将抛出异常;

firstOrFail方法会检索查询的第一个结果,如果未找到,将抛出异常;

插入:进行保存的 批量赋值的方法 firstOrCreate 和 firstOrNew

firstOrCreate 方法会通过给定的键 / 值对来匹配数据库中的数据。

如果在数据库中找不到模型,则将插入一条记录,其中包含第一个参数的属性以及可选的第二个参数的属性。
firstOrNew 方法像 firstOrCreate 方法一样尝试通过给定的属性查找数据库中的记录。

不过,如果 firstOrNew 方法找不到对应的模型,会返回一个新的模型实例。

注意 firstOrNew 返回的模型实例尚未保存到数据库中,你需要手动调用 save 方法来保存:

    public function info10()
    {
        //如果没有就新增 有的话不变化
        $stu=Student::firstOrCreate(
            ['name'=>'info10']
        );
    }
    //允许批量赋值
    public $fillable = array('name', 'age');
    //不允许批量赋值的
    public $guarded=array('id');


    public function info11()
    {
        //如果没有就新增 有的话不变化
        $stu=Student::firstOrNew(
            ['name'=>'info11']
        );
        $stu->save();
    }

更新:updateOrCreate:存在修改不存在创建

你还可能遇到希望更新现有模型或在不存在的情况下则创建新的模型的情景。 Laravel 提供 updateOrCreate 方法来一步实现。 类似于 firstOrCreate 方法,updateOrCreate 持久化模型,因此无需调用 save():

// 如果有从奥克兰到圣地亚哥的航班,则价格定为99美元。
// 如果没匹配到存在的模型,则创建一个。
$flight = App\Flight::updateOrCreate(
    ['departure' => 'Oakland', 'destination' => 'San Diego'],
    ['price' => 99, 'discounted' => 1]
);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值