3 回答
TA贡献1797条经验 获得超6个赞
在第二行
@foreach($dt2 as $d2)
Number of friends: {{ $d }} // Here it should be $d2
@endforeach
它应该是 $d2 而不是 $d。
编辑 1
问题出在你的第二个函数 countfriends($id) 上。使用以下代码
$query=\DB::select("SELECT count(user_id) as friends from user_friend where user_id = $id");
然后在视图文件中使用:
@foreach($dt2 as $d2)
Number of friends: {{ $d2->friends }}
@endforeach
当您使用选择查询时,它返回的键“count(user_id)”不能与标准对象一起使用以进行打印。
但是您应该开始使用 Eloquent 进行查询,而不是手动编写 SQL 查询。
TA贡献1735条经验 获得超5个赞
DB::select 返回一个结果数组。你应该使用
$data['dt'] = $podaciIzBaze[0];
但是,更优雅的方法如下:
$data['dt'] = UserModel::find($id);
find 方法返回模型的第一行,其中主键等于 $id
TA贡献1846条经验 获得超7个赞
Number of friends: {{ $d }}
应该Number of friends: {{ $d2 }}
我建议对您的代码进行以下更改:
UserModel
重命名为User
添加
Friend
模型User
在模型和Friend
模型之间添加一对多的雄辩关系将表名重命名
user_friend
为user_friends
- 这样你就可以利用 laravel 的魔力dt
并且dt2
没有描述性 - 我不知道它们代表什么,我建议将它们重命名为:dt
->userData
dt2
->totalFriends
public function profile(User $user){
$userData = $user->only([
'first_name',
'last_name',
'email',
'website',
'birth_date',
]);
return view('profile', [
'userData' => $userData,
'totalFriends' => $user->friends->count(),
]);
}
刀片文件看起来类似于:
<tr>
<td>Ime:</td>
<td>{{ $userData->first_name }}</td>
</tr>
<tr>
<td>Prezime</td>
<td>{{ $userData->last_name }}</td>
</tr>
<tr>
<td>Datum Rodjenja</td>
<td>{{ $userData->birth_date }}</td>
</tr>
<tr>
<tr>
<td>Pol</td>
<td>Musko</td>
</tr>
<tr>
<td>Email</td>
<td><a href="mailto:info@support.com">{{ $userData->email }}</a></td>
</tr>
<td>Website</td>
<td>
{{ $userData->website }}
</td>
</tr>
Number of friends: {{ $totalFiends }}
- 3 回答
- 0 关注
- 138 浏览
添加回答
举报