Anton
Samat, ты скажи что тебе получить надо - какие данные
Anton
данные только преподов? из join таблицы не надо данных?
Samat
$current_user_offices - вот тут массив из office_id авторизованного
Samat
не надо
Anton
ты видел что я тебе написал?
Anton
как попробовать?
Samat
сейчас попробую
Samat
не, повторяющиеся все равно выходят
Samat
суть в том, что, если у препода office_id = [2,3] и в $current_user_offices = [2,3], выйдет 2 препода одинаковых
Maksim (Ellrion)
а не проще через whereHas?
Teacher::whereHas('offices', function ($q) use ($current_user_offices) { $q->whereIn('id', $current_user_offices); })->get()
Samat
у меня Teacher - это модель, наследующая User. offices - это в Users
Maksim (Ellrion)
и что?
Samat
ошибка вышла Call to undefined method Illuminate\Database\Query\Builder::offices()
Samat
подумал, что как-то влияет
Maksim (Ellrion)
а релейшен именно offices?
Samat
да
Samat
в модели User
Samat
public function offices()
{
return $this->belongsToMany('App\Office');
}
Maksim (Ellrion)
странно
Maksim (Ellrion)
т.е. это именно тот код который я написал выдает такой эксепшен?
Samat
да
Anton
тогда делай с групбай
Anton
->groupBy(['teachers.id'])
Anton
и не забыть ->get(['teachers.*'])
Samat
а из сгруппированных потом хоть один выйдет?
Samat
хотя, туплю. сейчас попробую
adikalon
такая ошибка при применении миграций:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails
Есть база тестовая, с ней все нормально - миграции применяются. Есть не тестовая, где внешние ключи иногда не имеет полей в соответствующей таблице. Я так понял, что проблема в этом? Никак вопрос не решить?
Samat
group by сработал, спасибо)
Antonio
Antonio
как перебрать все свойства модели?
adikalon
Antonio
мускула
adikalon
че такое мускул?(
Antonio
mysql
adikalon
а
adikalon
а нельзя чтото повесить, дабы при применении миграции, если нет значения в справочной, тогда ключ менялся?
Antonio
ну по хорошему. надо сначала неправильные ключи заменить на null. потом уже ключ вешать. Но вообще, стоит посмотреть, откуда у тебя неправильные ключи - это значит у тебя нарушена целостность данных
Anton
А если я вытаскиваю данные модели и мне надо еще связанную сразу вытащить, ну то есть Model::where()->with('relation')->get([fields])
Anton
но из relation модели мне тоже только 1 поле надо...
Anton
ну типа сэкономить...
Anton
можно так?
Aleksey Y.
можно так?
pluck может? Но не уверен, я с телефона, проверить не могу
Aleksey Y.
relation.field
Anton
Pluck этл другое...
Aleksey Y.
Попробуй тогда в get рилейшен.филд
Aleksey Y.
Вернет?
Dmitriy
спички экономите ?
Anton
invariance
invariance
Это норм практика так то
Anton
callback по сути это написание запроса...
invariance
invariance
Что тебе и требовалось
Anton
SQL даст ещё более тонкий :).
invariance
Издеваешься?
Dmitriy
Anton
Я? Никогда...
invariance
Заметно
Anton
Dmitriy
Aleksey Y.
Anton
Anton
Хоть на lmgify
Dmitriy
гугл uk видимо так не умеет
Dmitriy
Отлично - дай ссылки
https://stackoverflow.com/questions/19852927/get-specific-columns-using-with-function-in-laravel-eloquent
Anton
Anton
С callback
Anton
Вторая?
Anton
В релейшен это я знал
Anton
Но мне так нельзя было. Сорри что не сказал
Aleksey Y.
<тут должна быть гифка про занудство и недосказанность>