Я делаю небольшой проект, используя торт php. Я сделал таблицу со списком пользователей с кнопкой рядом с каждым пользователем с текстом «Добавить в друзья». В базе данных у меня есть таблица с именем friends, которая содержит ID, user_id (пользователь, который нажал добавить в друзья) и friend_id (человек, которого первоначальный пользователь хочет видеть в друзьях). Теперь, я сделал следующий метод внутри моего UsersController:
public function addFriend($id)
{
$usersFriendsTable = TableRegistry::getTableLocator()->get('Friends');
$uid = $this->Auth->user('id'); //Id of the currently logged in user
$userAndFriend = $usersFriendsTable->newEntity();
if($this->request->is('post'))
{
$userAndFriend->user_id = $uid; //trying to set the user_id field to the id of the user that logged in
$userAndFriend->friend_id = $id; //trying to set the friend_id to the parameter id
$userAndFriend = $usersFriendsTable->patchEntity($userAndFriend, $this->request->getData());
if($usersFriendsTable->save($userAndFriend))
{
$this->Flash->success('User Added as Friend!');
}
else
{
$this->Flash->error("User not Added as Friend!");
}
}
}
Единственное, что при нажатии кнопки он даже не вводит:
if($this->request->is('post'))
, и я знаю, это потому, что, если я устанавливаю значения перед публикацией, я получаю правильные значения, однако, когда я устанавливаю значения после, я ничего не получаю и просто перенаправляюсь на домашнюю страницу ..
Это код для моя кнопка:
echo "<td>".$this->Html->link('Add as Friend',
[
'controller' => 'Users',
'action' => 'addFriend',
$u->id
],
[
'class' => 'btn btn-success col-md-12'
])."</td>";
Что я делаю не так?