我有一个名为 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 为空是否正常? 因为,我的加入有效。
您怎么看?
有错误吗?
答案 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;