Laravel如何使用belongstomy
我对在拉维尔使用belongtomany感到困惑。 下面是我的代码 users.phpLaravel如何使用belongstomy,laravel,join,eloquent,has-and-belongs-to-many,laravel-eloquent,Laravel,Join,Eloquent,Has And Belongs To Many,Laravel Eloquent,我对在拉维尔使用belongtomany感到困惑。 下面是我的代码 users.php public function guser() { return $this- >belongsToMany(User::class,'reportings','user_id','reporting'); } SQL表 报告表: ID USER_ID REPORTING =====================================
public function guser()
{
return $this-
>belongsToMany(User::class,'reportings','user_id','reporting');
}
SQL表
报告表:
ID USER_ID REPORTING
==========================================
1 92 95,96
用户表:
ID NAME
================
92 Sanjay
95 Ankur
96 Parkar
结果:
Name Reporting Person
======================================
Sanjay Ankur
预期结果:
Name Reporting Person
======================================
Sanjay Ankur & Parkar
你们能帮我得到预期的结果吗。我相信belongtomany需要一个数据透视表(这也是在数据库中存储单个值的最佳实践),所以为什么不这样做呢 无论如何,你可以这样做: 用户模型:
public function reportings()
{
return $this->hasMany(Reporting::class);
}
此功能用于抓取用户:
public function getReporters()
{
//This is just to grab a user, you will probably do it dynamically
$user = User::find(92);
$reportings = $user->reportings()->get();
foreach ($reportings as $reporter) {
$arr = explode(',', $reporter->reporting);
for($i = 0; $i < count($arr); $i++) {
$reporters[] = User::find($arr[$i]);
}
foreach ($reporters as $reporter) {
//just for demo purpose
echo $reporter->name . ' ';
}
}
}
公共函数getReporters()
{
//这只是为了抓住一个用户,您可能会动态地这样做
$user=user::find(92);
$reportings=$user->reportings()->get();
foreach($reporters作为$reporter进行报告){
$arr=爆炸(“,”,$reporter->reporting);
对于($i=0;$i代码可能会从一些严重的重构中受益,但你明白了。如何将这些多个值(95,96)存储在表中?$inp=Input::get('multireporting')$值=内爆(“,”,$inp);对于($i=0;$i