我已经在Laravel的Web应用程序中工作,需要用户之间的评级系统.所以,我一直在阅读Laravel文档以及这里和那里的一些帖子,但我一直想知道哪个是完成我想要做的最好的方法.我无法决定接下来的两个选项.
我目前的表是:
用户(id)| 费率(身份证,寄件人,评论,费率)| user_rate(id,user_id,rate_id)
我目前的用户型号:
public function rates_sent(){
return $this->hasMany(Rate::class,"sender");
}
public function rates(){
return $this->belongsToMany(Rate::class);
}
Run Code Online (Sandbox Code Playgroud)
我目前的费率型号:
public function sender(){
return $this->belongsTo(User::class,"sender");
}
public function receiver(){
return $this->belongsToMany(User::class);
}
Run Code Online (Sandbox Code Playgroud)
第二种选择是:
用户(id)| 费率(身份证,发件人,收件人,评论,费率)
用户模型:
public function rates_sent(){
return $this->hasMany(Rate::class,"sender");
}
public function rates_received(){
return $this->hasMany(Rate::class,"receiver");
}
Run Code Online (Sandbox Code Playgroud)
费率模型:
public function sender(){
return $this->belongsTo(User::class,"sender");
}
public function receiver(){
return $this->belongsTo(UseR::class,"receiver");
}
Run Code Online (Sandbox Code Playgroud)
那么,这两个都是好的解决方案 一种选择比另一种更容易接受吗?还有另一个更好的选择吗?
为我的坏事道歉.提前致谢