Конечно, я могу использовать order_by со столбцами в моей первой таблице, но не со столбцами на второй таблице, потому что результаты являются частичными.Как «order_by» на второй таблице при использовании красноречивого «один ко многим»
Если я использую «соединение», все работает идеально, но мне нужно добиться этого красноречивым. Я делаю что-то неправильно?
Это пример:
//with join
$data = DB::table('odt')
->join('hdt', 'odt.id', '=', 'hdt.odt_id')
->order_by('hdt.servicio')
->get(array('odt.odt as odt','hdt.servicio as servicio'));
foreach($data as $v){
echo $v->odt.' - '.$v->servicio.'<br>';
}
echo '<br><br>';
//with eloquent
$data = Odt::get();
foreach($data as $odt){
foreach($odt->hdt()->order_by('servicio')->get() as $hdt){
echo $odt->odt.' - '.$hdt->servicio.'<br>';
}
}
этот пакет может помочь вам https://github.com/fico7489/laravel-eloquent-join – fico7489