Php 从Laravel中的数据库检索选定复选框时出现问题
我正在尝试从数据库中检索所有复选框值,并且需要选中这些值。我在模型之间有多对多的关系,目前我能够从数据库中检索所有值,并将它们写入blade或刚刚选择的值(这是一个或另一个),但我似乎无法找到解决方案来检索数据库中存在的所有值和选择要检查的值。感谢您的帮助。这是我的代码和数据库表 用户配置文件表Php 从Laravel中的数据库检索选定复选框时出现问题,php,laravel,Php,Laravel,我正在尝试从数据库中检索所有复选框值,并且需要选中这些值。我在模型之间有多对多的关系,目前我能够从数据库中检索所有值,并将它们写入blade或刚刚选择的值(这是一个或另一个),但我似乎无法找到解决方案来检索数据库中存在的所有值和选择要检查的值。感谢您的帮助。这是我的代码和数据库表 用户配置文件表 id user_id first_name 1 1 Mike 运动桌 id name 1 Football 2 Basketaball 3
id user_id first_name
1 1 Mike
运动桌
id name
1 Football
2 Basketaball
3 Handball
4 Etc...
id user_id sport_id
1 1 1
2 1 2
用户运动台
id name
1 Football
2 Basketaball
3 Handball
4 Etc...
id user_id sport_id
1 1 1
2 1 2
UserProfile.php
public function sports()
{
return $this->belongsToMany(UserSport::class, 'user_sport', 'user_id', 'sport_id');
}
UserSport.php
public function userProfiles()
{
return $this->belongsToMany(UserProfile::class, 'user_sport', 'sport_id', 'user_id');
}
UserProfileController.php
public function showProfile($username, Request $request)
{
$profileId = User::getIdFromUsername($username);
$sportsOptions = UserSport::get();
$userSportsOptions = UserProfile::findOrFail($profileId)->sports()->get();
return view('profile.show', compact('sportsOptions', 'userSportsOptions'));
}
show.blade.php
@foreach($sportsOptions as $sportsOption)
<label class="checkbox-inline">
<input type="checkbox" id="sport" name="sport[]" value="{{$userSportsOptions->id}}"> {{$userSportsOptions->name}}
</label>
@endforeach
@foreach($sportoptions作为$sportoption)
{{$userSportsOptions->name}
@endforeach
所以,我知道命名约定不是很好,但关系是有效的,在本例和示例中,blade中的foreach和$sportsOptions会显示sport表中的所有四个值,而$userSportsOptions会显示这两个值(选定值)。我需要有关如何实现在刀片中显示所有值和选定值的帮助 @foreach($usersportsportoptions作为$usersportsportoptionrow)
@foreach($userSportsOptions as $userSportsOptionRow)
$selectedIds[] =$userSportsOptionRow->sport_id;
@endforeach
$userSportsOptions->id
@foreach($sportsOptions as $sportsOption)
<label class="checkbox-inline">
<input type="checkbox" id="sport" name="sport[]" value="{{$sportsOption->id}}" @if(in_array($sportsOption->id,$selectedIds))> {{$sportsOption->name}}
</label>
@endforeach```
$selectedIds[]=$usersportoptionrow->sport\u id;
@endforeach
$userSportsOptions->id
@foreach($sportsOptions作为$sportsOption)
id,$selectedds))>{{{$sportoption->name}
@endforeach```