ErrorException:
stripos() expects parameter 1 to be string, object given
Для вызова groupBy()
в методе with()
$user = User::with([
'pricelists' => function($query) {
$query->groupBy(function($var) {
return Carbon::parse($var->pivot->created_at)->format('m');
});
}
])->where('id', $id)->get();
Я уже видел несколько сообщений о том, как справиться с этой проблемой и что не может быть возможности использовать groupBy()
в красноречивом, но я не очень понимаю, почему ...
Чтобы было ясно:
User
и Pricelist
модель получила много отношение ко-многим с методом по умолчанию timestamps()
. Я пытаюсь получить загруженные прайс-листы, сгруппированные по месяцам их загрузки из текущего пользователя.
После нескольких попыток я просто удалил показанный выше оператор => function($query...
из метода with()
и просто оставил with(['pricelist'])
, чтобы получить все наборы данных и пробовал это:
$user->pricelists = $user->pricelists->groupBy(function($var) {
return Carbon::parse($var->pivot->created_at)->format('m');
});
return $user->pricelists;
И он работает нормально и возвращает массив с несколькими массивами для каждого месяца ... Но возвращает это так:
return $user;
возвращает только 1 массив со всеми записями ... Я не совсем понимаю смысл этого сейчас ...