Как передать функцию в красноречивый? - PullRequest
0 голосов
/ 03 февраля 2020

Я могу передать функцию в where функцию в Laravel для генерации условий во время выполнения. Например, здесь показано, как мы можем использовать функцию в качестве параметра в предложении where в Eloquent.

DB::table('users')->where(function ($query) use ($activated) {
    $query->where('activated', '=', $activated);
})->get();

Но когда я использую ту же логику c для функции havingRaw, тогда он делает следующую ошибку:

«message»: «Объект класса Closure не может быть преобразован в строку», «exception»: «ErrorException», «file»: «C: \ xampp7 \ htdocs \ sample_proj \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Query \ Grammars \ Grammar. php "," line ": 653,

Есть ли возможность применить having условия, например, что возможно для where?

1 Ответ

0 голосов
/ 03 февраля 2020

withRaw ожидает только строковый параметр и не будет работать с замыканием. Вы можете использовать метод whereHas, например метод where - https://laravel.com/docs/6.x/eloquent-relationships#querying -relationhip -istence

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...