如何在作用域上使用自定义属性?



在Laravel范围内使用自定义属性

Model.php

public function getClientNameAttribute()
{
return $this->client->first_name . ' ' . $this->client->last_name;
}

public function scopeSearch($query, $search) 
{
return $query->where('number', 'LIKE', '%' . $search . '%')
->orWhere('client_name', 'LIKE', '%' . $search . '%');
}

我得到一个错误SQLSTATE[42S22]: Column not found: 1054 Unknown column 'client_name' in 'where clause'

尝试添加

->orWhere('{table_name}.client_name', 'LIKE', '%' . $search . '%');

如果你正在做一个连接,它可能会有所帮助。

最新更新