【发布时间】:2021-06-26 00:44:38
【问题描述】:
我的查询是这样的
$query = type::select(DB::raw(
"CONCAT(users.first_name,' ',users.last_name)
as full_name"
));
$query->join('users', function ($join) {
$join->on('users.id', '=', 'type.uid')
->where('type.is_deleted', 0);
})
return $query->where('type.id', 123)->get();
和用户模型中的访问器方法
public function getFullNameAttribute()
{
return "{$this->first_name} {$this->last_name}";
}
但它没有调用该方法,也没有返回 fullName 作为输出
【问题讨论】:
-
你没有使用 Eloquent 来拉取结果。所以你实际上并没有得到模型。您可以使用
Model::hydrate()方法将模型从您的查询中取出 -
@CornelRaiu 我从未使用过 hydrate()。你能帮我怎么用吗?我需要删除 DB::RAW 吗?
-
看看我在其他评论中添加的链接
-
@CornelRaiu 我已经检查过了,但不知道如何在我的场景中使用
标签: php laravel query-builder