where節を使用するときにLaraval Eloquentに問題があります。Laravelのwhere節が機能していません
マイコード:
$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モデルを使用する代わりにRawクエリを試しても同じ問題が発生します。
ご協力いただければ幸いです。
おかげで、SR_よう
あなたは、実際のクエリがどのように見えるかを知りたい場合は、 – Exprator
- > toSql() t変数のバインドを返します –
@SR_ありがとうございます@ – Katerina