如何在 Laravel 的 whereIn 中使用别名列?
How to use alias column in whereIn with Laravel?
这是我的代码。我正在尝试获取新的 A 项列表以便继续循环。
$allowed_a = \App\NewA::select('name')->get()->pluck('name');
$a = App\A::selectRaw("replace(unaccent(trim(name)), ' ', '') AS newname, name")
->whereIn('newname', $allowed_a)->get();
但是我得到 未定义的列 'newname'。
请问我该如何解决?
谢谢
您应该能够使用以下方法实现等同的效果:
$allowed_a = \App\NewA;
\App\A::selectRaw('replace(unaccent(trim(name)) as newname')
->whereRaw('replace(unaccent(trim(name)) IN ("'.implode('","', $allowed_a).'")')
->get()
这是我的代码。我正在尝试获取新的 A 项列表以便继续循环。
$allowed_a = \App\NewA::select('name')->get()->pluck('name');
$a = App\A::selectRaw("replace(unaccent(trim(name)), ' ', '') AS newname, name")
->whereIn('newname', $allowed_a)->get();
但是我得到 未定义的列 'newname'。 请问我该如何解决? 谢谢
您应该能够使用以下方法实现等同的效果:
$allowed_a = \App\NewA;
\App\A::selectRaw('replace(unaccent(trim(name)) as newname')
->whereRaw('replace(unaccent(trim(name)) IN ("'.implode('","', $allowed_a).'")')
->get()