У меня есть связь MtoM, через pivot таблицу в Laravel. Взять дополнительные поля из pivot таблицы не составляет труда (withPivot), а вот как быть если в pivot у меня тоже связь - не понятно.
Вот как я реализовал это у себя.
https://laravel.com/docs/5.8/eloquent-relationships#defining-custom-intermediate-table-models https://github.com/ajcastro/eager-load-pivot-relations
class Template extends Model
{
use EagerLoadPivotTrait;
public function questions(): BelongsToMany
{
return $this->belongsToMany(Question::class)
->using('App\Models\QuestionTemplatePivot')
->has('section')
->withPivot('id');
}
}
class Question extends Model
{
use EagerLoadPivotTrait;
public function templates(): BelongsToMany
{
return $this->belongsToMany(Template::class)
->using('App\Models\QuestionTemplatePivot')
->withPivot('id');
}
}
class QuestionTemplatePivot extends Pivot
{
protected $table = 'question_template';
public function positions(): BelongsToMany
{
return $this->belongsToMany(Position::class, 'position_question_template', 'question_template_id', 'position_id');
}
}
Теперь можно вот так получить нужные связи:
$positions = $template->questions()
->with('pivot.positions')
->first()
->pivot
->positions;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В чём разница между new mysqli() и mysqli_connect()?
Проблема следующаяЕсть скрипт, который пачками по 1000 товаров импортит товар в магазин на Opencart 2
Задача: подключить phpmailer для формы обратной связи на сайтеДля начала решил разобраться как работает он в принципе и потом подключать к форме