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

2023-09-05 15:59:26 浏览数 (4)

laravel

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

代码语言:javascript复制
Feed::whereIn('id', $commentableIds)
    ->update([
        'feed_comment_count' => IlluminateSupportFacadesDB::raw('`feed_comment_count`   1'),
        'hot' => IlluminateSupportFacadesDB::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)):

代码语言:javascript复制
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();

  • 多条件一维数组
代码语言:javascript复制
$school= School::where([
    'name' => $name,
    'email' => $email
])->get();
  • 多条件二维数组
代码语言:javascript复制
$school= School::where([
    ['id', '<', 96],
    ['province', '=', '黑龙江']
])->get();

0 人点赞