Cakephp форма заявки - PullRequest
       4

Cakephp форма заявки

0 голосов
/ 04 января 2019

Я создал форму заявки, используя cakephp 2.

Теперь я хочу знать, как пользователи могут просматривать только данные своего приложения, используя свой идентификатор пользователя. Вот контроллер формы, форма заявки и таблица для отображения формы

//Form controller
    public function index() {
            $this->set('posts', $this->Post->find('all'));
        }
       public function view($id = null) {
            if (!$id) {
                throw new NotFoundException(__('Invalid post'));
            }

            $post = $this->Post->findById($id);
            if (!$post) {
                throw new NotFoundException(__('Invalid post'));
            }
            $this->set('post', $post);
        }

        public function add() {
            if ($this->request->is('post')) {
                $this->Post->create();
                if ($this->Post->save($this->request->data)) {
                    $this->Flash->success(__('Your post has been saved.'));
                    return $this->redirect(array('action' => 'index'));
                }
                $this->Flash->error(__('Unable to add your post.'));
            }
        }

    //Create form
        echo $this->Form->create('Post');
        echo $this->Form->input('esta',['label'=>'New or Estabilished']);
        echo $this->Form->end('Save Post');

    //Form display

      <table>
            <tr>
                <th>Id</th>
                <th>Title</th>
                <th>Created</th>
            </tr>
            <?php foreach ($posts as $post): ?>
            <tr>
                <td><?php echo $post['Post']['id']; ?></td>
                <td>
                    <?php echo $this->Html->link($post['Post']['describe_idea'],
        array('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); ?>
                </td>
                <td><?php echo $post['Post']['created']; ?></td>
            </tr>
            <?php endforeach; ?>
            <?php unset($post); ?>
        </table>

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы сказали, что используете cakephp 2.x , пожалуйста, найдите код ниже, чтобы найти запись

для однократной записи

$posts = $this->Post->find('first', array(
    'conditions' => array('id' => 1)
));

Для многократной записи

$posts = $this->Post->find('all', array(
    'conditions' => array('id' => 1)
));
0 голосов
/ 05 января 2019

Добавить фильтр в ваш action

CakePHP 3.x

$posts = $this->Posts->find()
    ->where([
        'Posts.user_id' => $this->Auth->user('id')
    ]);

CakePHP 2.x

$posts = $this->Posts->find('all', [
     'user_id' => $this->Auth->user('id')
]);

Примечание. Обязательно войдите в систему, чтобы установить Auth данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...