属于Laravel

时间:2019-03-02 20:14:50

标签: php laravel

我有一个名为 cars 的表,其中包含2个字段id, matriculation。 然后,我还有一个名为系列的表,其中包含2个字段id, name

我已经在桌汽车上创建了fk_serie

public function up()
    {
        Schema::create('cars', function (Blueprint $table) {
            $table->increments('id');
            $table->string('matriculation', 25);
            $table->integer('fk_serie')->unsigned();
            $table->foreign('fk_serie')->references('id_serie')->on('serie');
            $table->timestamps();
        });
    }

这是我有关表格系列的信息。

public function up()
    {
        Schema::create('series', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name', 30);
            $table->timestamps();
        });
    }

在我的模型中,我只有模型 Car 上的功能。

public function serie(){
    return $this->belongsTo('App\Serie', 'fk_serie');
}

我的模型中没有任何东西意甲

class Serie extends Model
{
    //
}

模型 Serie 为空是否正常? 因为,我的加入有效。

您怎么看?

overview

有错误吗?

1 个答案:

答案 0 :(得分:3)

如评论中的Dparoli所述,如果您不需要下面的查询,那么您上面的关系结构是正常的

Serie::with('cars')->find($id)

但是,如果您想在Serie模型中设置关系,则可以执行以下操作:

class Serie extends Model
{
   public function cars() { 
       return $this->hasMany('App\Car', 'fk_serie'); // your relationship
   } 
}

然后您可以执行以下操作:

$series = Serie::with('cars')->find($id); //eager loading cars
$cars = $series->first()->cars;