У меня естьТонкий Twig не делает из идентификаторы
{% if auth.renderFriendShip("{{auth.id}}", "{{user.id}}", 'isThereFriendship') == 0 %}
в моем файле представления. Он должен меняться {{auth.id}} и {{user.id}}, но это не так. Когда я запускаю «var_dump» в {{user.id}} в моей php-модели (где эта функция приводит) ... она просто выводит {{user.id}}.
Вот соответствующий код в моем файле представления ...
{% if auth.renderFriendShip("{{auth.id}}", "{{user.id}}", 'isThereFriendship') == 0 %}
<button class="friendBtn add" data-uid="{{user.id}}" data-type="addFriend">Friend</button>
<button class="request_pending hidden" disabled>Request Pending</button>
{% else %}
<button class="friendBtn unfriend" data-uid="{{user.id}}" data-type="unfriend">Unfriend</button>
<button class="friendBtn add hidden" data-uid="{{user.id}}" data-type="addFriend">Add as friend</button>
<button class="request_pending hidden" disabled>Request Pending</button>
{% endif %}
и моя модель пользователя ...
public function renderFriendShip($user_one, $user_two, $type) {
if(!empty($user_one) || !empty($user_two) || !empty($type)) {
switch($type) {
case 'isThereRequestPending':
$matchThese = ['user_one' => "$user_one", 'user_two' => "$user_two", 'friendship_official' => '0'];
$orMatchThese = ['user_one' => "$user_two", 'user_two' => "$user_one", 'friendship_official' => '0'];
$query = $this->friendsList()
->where($matchThese)
->orWhere($orMatchThese)
->get()
->count();
return $query;
break;
case 'isThereFriendship':
$q = $this->friendsList()
->where(function($query) use ($user_one, $user_two) {
return $query->where(['user_one' => $user_one, 'user_two' => $user_two, 'friendship_official' => '1']);
})
->orWhere(function($query) use ($user_one, $user_two) {
return $query->where(['user_one' => $user_two, 'user_two' => $user_one, 'friendship_official' => '1']);
})
->get()
->count();
break;
}
return var_dump($user_two);
} else {
return "Failed";
}
}
Благодарим Вас за любые возможные советы вы можете дать мне. Я уже много часов ищу, и я не нашел решения.
Похоже, что вы забыли вернуть $ Q в случае «isThereFriendship» – Jacques
@Jacques я добавил, что и переехал мой уаг дамп (где обратный запрос должен быть ... его сейчас «возвращение var_dump ($ д); "). Я все еще получаю int (0) для моего возвращения, когда действительно есть правильная информация как в db, так и в моем коде. «{{Auth.id}}» и «{{user.id}}», вероятно, все еще не изменяются –
Извините за задержку, но если var dump ничего не возвращает, вы уверены, что действительно выполняете запрос , Я не вижу, что запрос действительно используется, просто задан в вашем коде. Если вы не выполняете запрос, он не собирается извлекать из базы данных. – Jacques