торт php установка значения в контроллере не работает - PullRequest
0 голосов
/ 11 января 2020

Я делаю небольшой проект, используя торт 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>";

Что я делаю не так?

...