[英]find by column name cakePHP
您好我一直在尝试了解如何通过字段名称从模型中获取数据。 我正在使用cakePHP,我需要从表中检索列的数据。 语法是
> "select name from permissions"
所以我试着在book.cakephp.org上找到,所以我得到了字段函数,但这只给了我第一个值,而我有多个值。
我试过做了
$this->Model->find(array('fields'=>'Model.fieldName'));
但我明白语法本身是有缺陷的。
有人可以让我知道根据列名查询的方法是什么。
$this->Model->find(array('fields'=>'Model.fieldName'))
你忘了了array
函数。 也:
$this->Model->find(array('fields'=>array('Model.fieldName')))
将工作。
findAllBy将根据字段名称查找所有记录。
$this->Model->findAllBy<fieldName>(string $value, array $fields, array $order, int $limit, int $page, int $recursive);
例如:
$this->Permission->findAllByName('Some Name');
http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#findallby
发现它...希望它会帮助某人。
$workshop_lists = ClassRegistry::init('Workshop')->find('all',array(
'fields'=>array('user_id', 'title')
),
array(
'conditions' => array('user_id' => $this->Auth->user('id')),
'group' => 'Workshop.user_id',
'order' => 'posted DESC',
));
您无法使用其中一种蛋糕方法根据列名进行查询。 您必须使用查询方法。
语法: $this->Model->('Select columnname from table');
$这 - >模型 - >找到( '所有',阵列( '字段'=>数组( 'Model.fieldName')))
它每次都适合我。
如果我理解得很好,你不仅需要1个值,而且还需要表'权限'中'name'列中的整个值。 在这种情况下,您可以使用:
$this->Model->find('list',$params);
(见这里 '发现'的解释)
对于'$ params'部分,您将使用:
$params=array('fields'=>array('name'));
或者将所有内容放在一行中:
$arrayOfNames= $this->Model->find('list',array('fields'=>array('name')));
这将为您提供一个数组'$ arrayOfNames',其中key是'permissions'表中的'id'(主键),其值是同一个表中'name'字段中的对应名称。 这就是数组:'id'=>'name'
[23] => 'NAME1'
[28] => 'NAME2'
[29] => 'NAME3'
............
非常像我想你想要的。 希望能帮助到你。
$this->Model->find('list', ['valueField' => 'fieldName']);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.