laravel关系返回null

时间:2015-10-23 15:12:52

标签: php laravel

以下一直困扰着我。

更新

我首先发布了一个不打算发布的代码。我更新了代码。请看一下。

一张名为 plate

的表格
 $table->increments('id');
 $table->integer('equipment_status_code_id')->unsigned();
 $table->foreign('equipment_status_code_id')->references('id')->on('equipment_status_codes')->onDelete('cascade')->onUpdate('cascade');

模型牌照

public function equipmentStatusCode()
{
   return $this->belongsTo('App\Models\EquipmentStatusCode');
}

EquipmentStatusCode

   public function plate()
    {
         return $this->hasOne('App\Models\Plate');
    }

在路线中我这样做

   $data = Plate::find(1);
   $att = $data->equipmentStatusCode;

   dd($att);

工作得很好。

但是反过来又没有工作并返回 null

$data = EquipmentStatusCode::find(1);
$att = $data->plate;

dd($att);

有人告诉我发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

BelongsTo关系的模型应该有foreign key in its table。你反过来了。所以只需交换关系。

板块模型:

public function equipmentStatusCode()
{
   return $this->hasOne('App\Models\EquipmentStatusCode');
}

EquipmentStatusCode型号:

public function plate()
{
   return $this->belongsTo('App\Models\Plate');
}