投票表:
struct Monster{
var id: Int
}
var arr : Array<Monster>= []
for i in 0..<5{
let monster = Monster(id: i)
arr.append(monster)
}
for m in arr{
print(m.id)
}
arr.sort { (monsterA, monsterB) -> Bool in
return monsterA.id > monsterB.id
}
for m in arr{
print(m.id)
}
回答和评论模型
id user id vote votable_id votable_type
1 4 5 1 App\Comment
2 2 4 4 App\Answer
....
投票型号:
public function votes()
{
return $this->morphOne('App\Vote', 'votable');
}
public function user()
{
return $this->belongsTo('App\User','user_id','id');
}
如何获取有关登录用户从用户模型中投票的答案和评论。
public function votable()
{
return $this->morphTo();
}
public function user()
{
return $this->belongsTo('App\User','user_id','id');
}
答案 0 :(得分:1)
您想要支持投票模型中存在的变形模型中的项目,因此您应该使用“投票”关系查询变形模型 whereHas 条件:
$result = Answer::whereHas('votes', function($query) {
$query->where('user_id', Auth::user()->id);
})->get();
$result = Comment::whereHas('votes', function($query) {
$query->where('user_id', Auth::user()->id);
})->get();