如何在Laravel 7中建立一对多关系

问题描述 投票:0回答:1

我有这个迁移,我想使用工厂模型查看它们

迁移类别:

    Schema::create('categories', function (Blueprint $table) {
        $table->id('id_cat');
        $table->string('nom');

    });

移民商标:

        Schema::create('marques', function (Blueprint $table) {
        $table->id('marque_id');
        $table->foreignId('cat_id')->constrained();
        $table->string('designation');
    });

当我运行此工厂模型时,它不起作用

类别工厂:

$factory->define(Category::class, function (Faker $faker) {
return [
    'nom' => $faker->unique()->word
];

});

商标工厂:

$factory->define(Marque::class, function (Faker $faker) {
return [
    'cat_id' => Category::all()->random()->id,
    'designation'=>$faker->unique()->word
];

});

php
1个回答
0
投票

您必须确保您的模型属性可填充质量分配数组已填充。

Category::class的示例:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
   /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['nom'];

}

您必须对您的其他班级批量分配属性执行相同的操作。要获取有关阅读this的更多信息。祝您好运,编码愉快!

© www.soinside.com 2019 - 2024. All rights reserved.