在雄辩的一对一关系中有一些我想念的东西:
2ms = T + 1
1ms = T
观察班是
class MeetingTest extends Model
{
protected $table = 'meeting_tests';
public function meeting() {
return $this->belongsTo('App\Meeting','meeting_id','id');
}
public function observation() {
return $this->hasOne('App\Observation','meeting_test_id','id');
}
public function activity() {
return $this->hasOne('App\TestActivity','activity_id','id');
}
}
如果我运行php artisan tinker和
class Observation extends Model
{
protected $table = 'observations';
public function meetingTest() {
return $this->belongsTo('App\MeetingTest','meeting_test_id','id');
}
}
在观察记录中的这一点上,我可以看到meeting_test_id填充了meetingTest的正确ID,但是如果我尝试:
$ mtn->观察
它给了我null;在数据库中,observation_id字段中没有观察ID;
这是迁移:
$mtn = App\MeetingTest::create();
$mtn->save();
$ob = App\Observation::create();
$ob->save;
$mtn->observation()->save($ob);
我不明白什么是不正确的。
答案 0 :(得分:0)
我可以在 meeting_tests 表中看到 observation_id 和 activity_id ,这会使此表中的记录为拥有一对一/一对多关系的一面。因此, MeetingTest 中的活动和观察关系应返回 $ this-> belongsTo 而不是 $这 - > hasOne 强>