Я делаю сеялки для отношения M: M, где я хотел бы присоединить 1 Widget
к WorkspaceItem
в 90% случаев, другие 5% 2, последние 5% 3.
$widgets = Widget::all();
$workspaceItems = WorkspaceItem::all();
foreach ($workspaceItems as $workspaceItem) {
$numberBetween = $faker->numberBetween(0, 100);
if ($numberBetween > 95) {
$widgetsToSeed = $widgets->random(3);
} else if ($numberBetween > 90 && $numberBetween <= 95) {
$widgetsToSeed = $widgets->random(2);
} else {
$widgetsToSeed = $widgets->random();
}
foreach ($widgetsToSeed as $widget) {
$workspaceItem->widgets()->attach($widget->id, [...]);
}
}
Примечание : я не могу использовать sync()
, потому что у меня есть дополнительные свойства для сводной таблицы.
Если я dd($widgetsToSeed)
, я действительно получаю случайные виджеты. Но как только он входит в l oop и я dd($widget)
, я не получаю модель, а просто true
. В чем, кажется, проблема?