私は多態性の関係で構築された同様のシステムを持っています。 Likesを取得するときにlikeable_typeのモデルを読みたいと思います。 何をする必要がありますか? は、私は私のようなモデルにLaravel 5.2 - 多型関係の熱い遠隔モデル
protected $with = ['Post'];
または
protected $with = ['App\Post'];
を追加しようとしましたが、私が得るすべてがある:未定義のメソッドを照らし\ Databaseへ
コール\クエリー\ビルダー::ポスト()
同じようなモデル:
class Like extends Model
{
use SoftDeletes;
protected $table = 'likeables';
protected $fillable = [
'user_id',
'likeable_id',
'likeable_type',
];
/**
* Get all of the owning likeable models.
*/
public function likeable()
{
return $this->morphTo();
}
}
ポストモデル:
class Post extends Model
{
protected $fillable = [
'picture',
'description'
];
/**
*
* a post belongs to one user
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user(){
return $this->belongsTo('App\User');
}
/**
*
* a post has many comments
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function comments()
{
return $this->hasMany('App\Comment');
}
/**
* Get all of the post's likes.
*/
public function likes()
{
return $this->morphMany('App\Like', 'likeable');
}
/**
*
* Simple Like System checks if liked
*
* @return bool
*/
public function getIsLikedAttribute()
{
$like = $this->likes()->whereUserId(Auth::id())->first();
return (!is_null($like)) ? true : false;
}
}
私たちにあなたのモデルを表示してください。 – Moak
今質問に追加します。 – Chriz74
'protected $ with = ['likeable']'を試したことがありますか?通常、熱心な読み込みの場合、メソッド名 – Moak