如何在 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()