【发布时间】:2016-06-21 18:05:33
【问题描述】:
这适用于 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,但我希望能够在name 上搜索(和排序)而不存储它。也许存储串联名称没什么大不了的,我应该这样做,但我也在努力学习。
【问题讨论】:
-
什么版本的 Laravel?
标签: php laravel methods eloquent laravel-5.2