【发布时间】:2014-11-23 04:22:49
【问题描述】:
我想搜索给定用户在给定帖子上的点赞。 我有一个 Post 模型:Post
class Post extends \Eloquent
{
protected $fillable = [];
public function likes()
{
return $this->morphMany('Like', 'likeable');
}
}
和一个喜欢模型为:
class Like extends \Eloquent
{
protected $fillable = [];
/**
* @return \Illuminate\Database\Eloquent\Relations\MorphTo
*/
public function likeable()
{
return $this->morphTo();
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function owner()
{
return $this->belongsTo('User', 'owner_id');
}
}
以及 laravel 中提供的默认 User 模型。
现在我已经查询 Post 模型以使用 post_id like 找到一篇帖子
$post=Post::find(10);
和用户模型类似
$user=User::find(1);
现在我想在 Post(10) 上找到这个 User(1) 的 Like,laravel 中是否有任何可用的功能。
我知道我可以直接用raw where function as查询Like
\Like::whereLikeableId('10')->whereLikeableType('Post')->whereUserId('1')->get();
但这看起来很难看,我想知道 laravel 的做法。
【问题讨论】:
标签: php laravel laravel-4 eloquent