这是Laravel 5.2.我的用户模型中有一个如下定义的方法:
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,但我希望能够在不存储名称的情况下搜索(和排序)名称.也许存储连接的名称没什么大不了的,我应该这样做,但我也在努力学习.