Я пытаюсь напечатать количество строк в Laravel из MySQL, но получаю эту ошибку: htmlspecialchars () ожидает, что параметр 1 будет строкой, заданным объектом (View: C: \ wamp64 \ www\kont \ resources \ views \ profile.blade. php)
В моей модели есть две функции. Первая функция возвращает информацию о пользователе из одной таблицы, а другая функция подсчитывает количество друзей этого пользователя из другой таблицы. Пожалуйста, посмотрите мой код ниже:
HomeController. php
public function profile(Request $request,$id){
$model = new UserModel();
$podaciIzBaze = $model->userdata($id);
$data = array();
$data['dt'] = $podaciIzBaze;
$model2 = new UserModel();
$podaciIzBaze2 = $model2->countfriends($id);
$data['dt2'] = $podaciIzBaze2;
return view('profile',$data);
}
UserModel. php
class UserModel extends Model
{
//
public function userdata($id){
$query = DB::select("SELECT first_name,last_name,email,website,birth_date FROM users where id = $id");
return $query;
}
public function countfriends($id){
$query=DB::SELECT("SELECT count(user_id) from user_friend where user_id = $id");
return $query;
}
профиль. Лезвие. php
@foreach($dt as $d)
<tr>
<td>Ime:</td>
<td>{{ $d->first_name }}</td>
</tr>
<tr>
<td>Prezime</td>
<td>{{ $d->last_name }}</td>
</tr>
<tr>
<td>Datum Rodjenja</td>
<td>{{ $d->birth_date }}</td>
</tr>
<tr>
<tr>
<td>Pol</td>
<td>Musko</td>
</tr>
<tr>
<td>Email</td>
<td><a href="mailto:info@support.com">{{ $d->email }}</a></td>
</tr>
<td>Website</td>
<td>
{{ $d->website }}
</td>
</tr>
@endforeach
@foreach($dt2 as $d2)
Number of friends: {{ $d }}
@endforeach