繁体   English   中英

按列名称cakePHP查找

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM