0

我最近在 Laravel 4 Eloquent 中了解了动态 where 子句(我认为这就是所谓的),这使得 where 子句 likeUser::where('first_name', 'Jon')->get()变得更好User::whereFirstName('Jon')->get()。这有多灵活??

例如,我可以执行以下操作吗

  • 多列User::whereFirstNameOrLastName('Jon', 'Smith')->get();
  • 使用除=like>=或以外的运算符LIKE
4

1 回答 1

5

您可以使用查询范围来实现您所需要的。

一个简单的例子:

public function scopeFirstOrLastName($query, $first, $last)
{
    return $query->where('first_name', 'LIKE', '%' . $first . '%')
                 ->where('last_name', 'LIKE', '%' . $last . '%');
}

使用它:

$user->firstOrLastName('John', 'Doe')->get();

您可以根据需要命名它,并且可以在其中使用任何运算符(或任何查询构建器操作)。

于 2013-09-22T13:10:24.103 回答