Laravel MorphMany并不总是返回对象

时间:2017-01-26 07:41:24

标签: php laravel eloquent

我有两个相关的对象:UserProfile和Media。 Media是一个多态对象,其字段为:

  • ID
  • mediable_id
  • mediable_type
  • USER_ID
  • 功能

......还有更多

我的UserProfile媒体方法如下所示:

protected $with = ['media'];

public function media(){
    return $this->morphMany('App\Media', 'mediable')
                ->whereFunction('profile')
                ->latest()->take(1);
}

如果我理解“$ with”属性是否正确,那么每次返回UserProfile时都会返回Media对象?

但是当我使用User :: find(1)时,它返回User with UserProfile但没有“Media”对象。

class User extends Authenticatable
{
    protected $with = ['profile'];

    public function profile(){
        return $this->hasOne('App\UserProfile');
    }
}

有谁知道可能出现什么问题?

0 个答案:

没有答案