laravel ORM 学习笔记 (持续更新)

in 学习笔记 with 0 comment 访问: 1,974 次

update子查询其他字段(支持whereIn)

Feed::whereIn('id', $commentableIds)
    ->update([
        'feed_comment_count' => \Illuminate\Support\Facades\DB::raw('`feed_comment_count` + 1'),
        'hot' => \Illuminate\Support\Facades\DB::raw('`feed_comment_count` * 5 + `like_count`')
    ]);

    UserExtra::whereIn('user_id', $userIds)
        ->increment('comments_count', 1);

laravel ORM where and orWhere 多个条件如 ab(c+d)

闭包用法(例如多个条件 ab(c+d)):

Table::where('a', 1)
      ->where('b', 2)
      ->where(function($q) {
          $q->where('c', 3)
            ->orWhere('d', 3);
      })
      ->get();

Table::where('a', 1)
      ->where('b', 2)
      ->where(function($q) use ($key) {
          $q->where('c', $key)
            ->orWhere('d', $key);
      })
      ->get();

如过参数为变量,还可以使用成员变量$this。

where 多条件查询,可以比较,不局限于等于的时候

以前不知道还可以这样写,手册上也没有,日了狗,真应该找个时间看一下源码

$school= School::where('id', '<=', 10)->get();

$school= School::where([
    'name' => $name,
    'email' => $email
])->get();
$school= School::where([
    ['id', '<', 96],
    ['province', '=', '黑龙江']
])->get();
赞赏支持
Responses