# Pass parameter query on controller

**URL:** <https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223>\
**Category:** Need Help\
**Created:** [September 18, 2017, 5:58pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223 "2017-09-18T17:58:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![admquick](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/admquick/32/809_2.png) [@admquick](https://discourse.cakephp.org/u/admquick)\
**Post date:** [September 18, 2017, 5:58pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223/1 "2017-09-18T17:58:36Z")

</div>

I’m new to cakephp  
I’m having a very basic question.  
I want to pass a parameter that is the result of a query model inside the controller to use it in view

For example in CODE IGNITER:

Controller:

> ```
> $data= array(
> 'title'=>'Main',
> 'today'=>date('d/m/Y'),
> 'user_id'=>$this->AdminModel->getUserId()->result(),
> );
> $this->load->view('admin', $data);
> 
> ```

Inside my controller I want to use the result of $ user\_Id to make a condition

I did something like

> $user\_id = $this-\>Users-\>find()-\>where([‘Users.name’ =\> ‘Francisco’]);  
> $this-\>set(‘users’, $users);

but I can not use the result inside my controller

How can I use $user\_id[‘Users’][‘id’]); OR $user\_id-\>name in controller?

---

<div class="post-metadata">

**Author:** ![dakota](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/dakota/32/1421_2.png) [@dakota](https://discourse.cakephp.org/u/dakota)\
**Post date:** [September 18, 2017, 6:04pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223/2 "2017-09-18T18:04:05Z")

</div>

You almost have it 🙂

```
$user = $this->Users->find()->where([‘Users.name’ => ‘Francisco’])->first();
$this->set(‘users’, $users);

```

Then you can access `$user->name` in the view

---

<div class="post-metadata">

**Author:** ![admquick](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/admquick/32/809_2.png) [@admquick](https://discourse.cakephp.org/u/admquick)\
**Post date:** [September 18, 2017, 6:16pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223/3 "2017-09-18T18:16:07Z")

</div>

~]  
Nice,

but how can I use result $user-\>name in Controller?

Actually, I need use the result for load may templates according to the query result for exeample:

I do not know if it’s the best way but I thought of something like

**In my table Users**  
id, name, template

**In my controller:**

$user\_template = $this-\>Users-\>find()-\>where([‘[Users.id](http://Users.id)’ =\> $session-\>read(‘[Users.id](http://Users.id)’);]);

$this-\>viewBuilder()-\>setLayout($user-\>user\_template);

OR

$this-\>viewBuilder()-\>setLayout($user\_template);

I don’t know…

---

<div class="post-metadata">

**Author:** ![dakota](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/dakota/32/1421_2.png) [@dakota](https://discourse.cakephp.org/u/dakota)\
**Post date:** [September 18, 2017, 6:19pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223/4 "2017-09-18T18:19:02Z")

</div>

The same

```
$user = $this->Users->find()->where([‘Users.id’ => $this->Auth->user('id)])->first();

$this->viewBuilder()->setLayout($user->user_template);

```

I would recommend that you work through the tutorials [https://book.cakephp.org/3.0/en/tutorials-and-examples.html](https://book.cakephp.org/3.0/en/tutorials-and-examples.html)

---

<div class="post-metadata">

**Author:** ![admquick](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/admquick/32/809_2.png) [@admquick](https://discourse.cakephp.org/u/admquick)\
**Post date:** [September 18, 2017, 6:30pm UTC](https://discourse.cakephp.org/t/pass-parameter-query-on-controller/3223/5 "2017-09-18T18:30:48Z")

</div>

Thanks a lot Dakota!!
