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:[email protected]">{{ $userData->email }}</a></td>
</tr>
<td>Website</td>
<td>
{{ $userData->website }}
</td>
</tr>
Number of friends: {{ $totalFiends }}
- 3 回答
- 0 關注
- 185 瀏覽
添加回答
舉報