Size: a a a

2020 April 25

EG

Egor Gruzdev in Laravel Pro
Shamil Merdanzade
Привет всем, каким образом можно делать выборку полей отношения при получении данных с помощью модели так чтоб не вызывалось поле которое являеся вторичным ключом ? Обычным замыканием с with не получается, null идет.

Допустим

Partner::where('id', $id)->with(['locations' => function ($q) {
$q->select(['partner_id', 'addr', 'lng', 'lat']);
}])->get();

Если убрать partner_id то null. А с ним не хочется. Не надо никакой unset, переделка коллекции и т.д.

Заранее спасибо.
так он же не знает как связать, точнее с кем, поэтому ключ должен быть
источник

SM

Shamil Merdanzade in Laravel Pro
Egor Gruzdev
так он же не знает как связать, точнее с кем, поэтому ключ должен быть
В модели имеется отношение hasMany()
источник

EG

Egor Gruzdev in Laravel Pro
Shamil Merdanzade
В модели имеется отношение hasMany()
а что это меняет?
источник

SM

Shamil Merdanzade in Laravel Pro
Shamil Merdanzade
В модели имеется отношение hasMany()
он знает кого с кем связывать вроде
источник

EG

Egor Gruzdev in Laravel Pro
или тогда делай отдельный запрос $partner->locations()->select(...)->get()
источник

EG

Egor Gruzdev in Laravel Pro
но в цикле получишь n+1 операцию с базой
источник

SM

Shamil Merdanzade in Laravel Pro
даа
источник

SM

Shamil Merdanzade in Laravel Pro
из за одного поля не стоит думаю
источник

EG

Egor Gruzdev in Laravel Pro
Shamil Merdanzade
Привет всем, каким образом можно делать выборку полей отношения при получении данных с помощью модели так чтоб не вызывалось поле которое являеся вторичным ключом ? Обычным замыканием с with не получается, null идет.

Допустим

Partner::where('id', $id)->with(['locations' => function ($q) {
$q->select(['partner_id', 'addr', 'lng', 'lat']);
}])->get();

Если убрать partner_id то null. А с ним не хочется. Не надо никакой unset, переделка коллекции и т.д.

Заранее спасибо.
вопрос что тебя смущает в том что приходит partner_id?
источник

SM

Shamil Merdanzade in Laravel Pro
Egor Gruzdev
вопрос что тебя смущает в том что приходит partner_id?
👍да
источник

SM

Shamil Merdanzade in Laravel Pro
при выборке хочу его уничтожить
источник

EG

Egor Gruzdev in Laravel Pro
Shamil Merdanzade
при выборке хочу его уничтожить
так уничтожь при выводе
источник

SM

Shamil Merdanzade in Laravel Pro
я прямо вывожу резултать этого запроса
источник

SM

Shamil Merdanzade in Laravel Pro
Shamil Merdanzade
я прямо вывожу резултать этого запроса
результат*
источник

EG

Egor Gruzdev in Laravel Pro
Shamil Merdanzade
результат*
источник

OP

Oleksandr Petrenko in Laravel Pro
Vadim
uuid
Как насчет сортировки по такому полю? Или же юзать в паре с обычным айди?
источник

V

Vadim in Laravel Pro
Oleksandr Petrenko
Как насчет сортировки по такому полю? Или же юзать в паре с обычным айди?
Не сортируй
источник

EG

Egor Gruzdev in Laravel Pro
Oleksandr Petrenko
Как насчет сортировки по такому полю? Или же юзать в паре с обычным айди?
uuid для Laravel Eloquent не актально
источник

OP

Oleksandr Petrenko in Laravel Pro
Vadim
Не сортируй
ок, не буду)
источник

EG

Egor Gruzdev in Laravel Pro
Egor Gruzdev
uuid для Laravel Eloquent не актально
для Doctrine да, для механизма UnityOfWork
источник