使用WHERE子句时,Laravel Eloquent存在问题。
代码
<?php
$locale = Session::get('locale');
$categories = Category::whereHas('translations', function ($query) use ($locale) {
$query->where('locale', $locale);
})->get();
生成SQL
select * from `categories`
where exists (select * from `category_translations`
where `category_translations`.`category_id` = `categories`.`id`
and **`locale` = ?**)
它没有注册locale
的给定值。
如果我放->where('locale', 'en')
,即使我尝试使用原始查询而不是使用Eloquent模型,我也会遇到同样的问题。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)