多态关系不起作用

时间:2018-10-10 15:58:06

标签: php laravel laravel-5.6

我有两个模型,分别是申请和实习。

这些关系是:

Internship.php

public function applications() {
    return $this->morphMany('App\Application', 'applicationable');
}

Application.php

public function applicationable() {
    return $this->morphTo();
}

此查询不起作用...

$i = Internship::find(144)
$i->applications // this does not work

但是,这确实...

Application::where('applicationable_id', 144)->get() // this works

我对自己做错了事感到困惑,对此的任何帮助都会有所帮助。

请注意:该项目是Laravel 5.6,我还有其他正在运行的多态关系,只有这个有问题。

Eloquent为$internship->applications呈现的原始命令是:-

select * from `applications` where `applications`.`applicationable_id` = ? and `applications`.`applicationable_id` is not null and `applications`.`applicationable_type` = ?

1 个答案:

答案 0 :(得分:0)

请确保您在实习表中的ID号为144,否则它将为您抛出一个错误,说:“试图获取非对象的属性'照片'”