这是用于Laravel 5.2的。我定义了一个方法,我的用户模型如下:在Eloquent查询中使用Laravel模型方法
public function name()
{
return "$this->name_first $this->name_last";
}
我试图弄清楚如何使用它作为查询的一部分,但现在看来似乎是不可能的几分明显的原因:数据库不知道有关该方法的任何内容,这非常合理。然而,我想要实现的概念在某些情况下是有意义的,所以我试图看看是否有办法在Eloquent中自然地实现它。
这是不行的,但它代表什么,我试图完成:
public function index(Request $request)
{
$query = new User();
if(Request::has('name')) {
$query = $query->where('name', 'LIKE', '%' . Request::input('name') . '%');
}
return $query->get();
}
总之,数据库只知道name_first
和name_last
,但我希望能够搜索(并排序)name
而不存储它。也许存储连接的名字没什么大不了,我应该这样做,但我也试图学习。
什么Laravel的版本? –
呃,对不起。 5.2 – Anthony