运用一、快速实现下拉菜单

控制器中,使用find('list')返回的是键值对的数组,键名是array的第一个参数id,键值就是第二个参数content。

    public function list_select(){
//查询键值对
$list = $this->Post->find('list',array('fields' => array('Post.id','Post.content')));
//var_export($list);
$this->set('options',$list);
}

$list的内容类似

array ( 1 => 'new_content', 2 => 'content2', 3 => 'new_content', 4 => 'c4', 5 => 'w', )

View中,$list的格式恰恰满足$options选项的要求

<?php
echo $this->Form->input('', array(
'name' => 's',
'options' => $options,
'empty' => '(choose one)'
));
?>

生成结果是个下拉列表,内容就是之前的键值对

运用二、将查询的结果集放到一个数组中

有表property_type,结构如图

$arr_ids = explode(',', '1,2,3');
$result = $this->PropertyType->find('all', array(
'fields'=>array('name'),
'conditions'=>array('id' => $arr_ids)
)
);

使用find('all')得到的结果,三条记录是三个数组

Array
(
[0] => Array
(
[PropertyType] => Array
(
[name] => House
) ) [1] => Array
(
[PropertyType] => Array
(
[name] => Unit
) ) [2] => Array
(
[PropertyType] => Array
(
[name] => Townhouse
) ) )

改为find('list')

$arr_ids = explode(',', '1,2,3');
$result = $this->PropertyType->find('list', array(
'fields'=>array('name'),
'conditions'=>array('id' => $arr_ids)
)
);

得到的所有结果在一个数组中,结构干净许多

Array
(
[1] => House
[2] => Unit
[3] => Townhouse
)

再将数组转为字符串 implode(',',$result);

cakephp中find('list')的使用的更多相关文章

  1. Cakephp中使用JavaScriptHelper来引入js文件

    页面的head部分的内容在Cakephp中主要是有htmlhelper来进行控制的,而js部分则是由JavaScripthelper来进行控制的,在controller里面设置好:var $helpe ...

  2. cakephp中使用大括号的形式避免用点号连接sql语句

    在cakephp中可以使用{}的形式来代替点号连接sql语句,减少出错的几率

  3. cakephp 中Console / Shell 有什么优点?

    Which is the advantage of using CakePHP Console / Shell for programmed tasks ? 查看原文 最近用到了cakephp中的sh ...

  4. cakephp中使用 find('count')方法

    对于find('count',array('group'=>'user_id')); Model.php中这样描述: /** * Handles the before/after filter ...

  5. CakePHP中回调函数的使用

    我们知道模型主要是用来处理数据的,有时我们想在模型操作之前或之后做一些额外逻辑处理,这时候就可以使用回调函数. 回调函数有很多种,beforeFind,afterFind,beforeValidate ...

  6. cakephp中sql查询between

    $trading_list = $this->Trading->find('all', array('conditions' => array('buy_time BETWEEN ? ...

  7. cakephp中sql查询in

    $list = $this->Capital->find('all', array('conditions'=>array('remark in '=>array('银联支付' ...

  8. cakephp中sql查询大于

    $list = $this->Capital->find('all', array('conditions'=>array('amount >'=>0)));

  9. [数据库]cakephp操作ENUM、tinyint等类型的一点说明

    之前无法正常更新ENUM类型的数据,感觉是框架函数实现的bug. 问题很诡异,因为INIT的时候是可以成功写入的,没理由UPDATE的时候不成功. 前后琢磨了一下午,发现了一点蛛丝马迹才终于想通.问题 ...

随机推荐

  1. Java关于日期时间的工具类

    import java.sql.Timestamp; import java.text.ParseException; import java.text.ParsePosition; import j ...

  2. jquery Jbox 插件实现弹出窗口在修改的数据之后,关闭弹出窗口刷新父页面的问题

    http://blog.csdn.net/nsdnresponsibility/article/details/51282797 问题如题: 这里我们在父页面定义一个全局的变量来标识是否需要刷新父页面 ...

  3. Yii中POS和GET并用范例

    页面 <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'add-form', 'enableAjaxValida ...

  4. 高老大 ‘SQL Server 优化器特性导致的内存授予相关BUG’ 学习笔记

    今天高老大出了好文章.在这里 自己本来对这一块比较混乱,正好借这个机会学习一下. 就用高老大的脚本.需要的直接去他那里找吧,这里就省了. 加查询优化标记前后对比 可以看到GrantedMemory是5 ...

  5. VS2013没有安装部署,安装图解

    自vs2012后就已经没有安装向导了,VS2013安装是不带安装部署的,用 InstallShield Limited Edition for Visual Studio 解决安装部署问题 第一步:“ ...

  6. 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean

    1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...

  7. $.ajax方法success方法窗口弹不出

  8. 【题解】洛谷P3953 [NOIP2017TG] 逛公园(记忆化搜索+SPFA)

    题目来源:洛谷P3953 思路 先用SPFA求一遍最短路 在求最短路的同时可以把所有点到终点的最短路求出来 dis数组 注意要反向SPFA  因为从起点开始可能会走到一些奇怪的路上导致时间负责度增加 ...

  9. Node.js http等模块 笔记05

    一.http模块 const http = require('http'); http.createServer((req,res)=>{ //1 设置响应头 res.writeHead(200 ...

  10. linux 重启 启动 apache服务

    如何使用service  httpd restart,不成功的话,直接去apache文件目录里去找可执行文件,执行启动. 一般apache目录 ./usr/local/httpd/bin ,在bin目 ...