首页 文章

在laravel eloquent ORM中使用where约束

提问于
浏览
0

我知道Laravel的Eloquent ORM查询通常具有结构

  • 模特

  • 查询约束

  • 获取方法 .

但是,有人可以告诉我这段代码会做什么吗?

$user = User::where('username', '=', $username)->where('active', '=', 1);

它似乎有2个约束,但没有fetch方法,例如我希望查询有
->first()
->update(array('key' => 'value')
->delete()
还是类似的?

1 回答

  • 1

    代码仅使用两个提到的where子句设置查询 . 当您想根据不同条件添加子句时,这非常有用:

    $user = User::where('username', '=', $username)
                ->where('active', '=', 1);
    
    if ($filterByAge) {
        $user->where('age', '>', $age);
    }
    
    if ($filterByHeight) {
        $user->where('height', '>', $height);
    }
    
    return $user->get();
    

    或者当你从中应用它们时,比方说,一个数组:

    $wheres = [
        'username' => 'Raphael',
        'active'   => true,
        'height'   => '173'
    ];
    
    $user = User::query();
    
    foreach ($wheres as $field => $value) {
        $user->where($field, '=', $value);
    }
    
    return $user->get();
    

相关问题