【问题标题】:Cakephp Select foreign key and order by name!Cakephp 选择外键并按名称排序!
【发布时间】:2011-03-23 17:24:58
【问题描述】:

我可以从外键中获取下拉列表,但是如何按名称而不是 id 对它们进行排序。

在 belongsTo 模型中添加 'order' => 'Country.name asc' 不起作用,或者我遗漏了什么!!!

例如选择国家、州、城市以及按名称而不是 id 排序的那些。

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    你在搭建脚手架吗?如果不是应该有一个类似于

    的调用
    $this->set('groups', $this->User->Group->find('list'));
    

    在您的控制器中,只需将排序条件添加到 find 调用中,例如

    $this->set('groups', $this->User->Group->find('list',array('order'=>'Group.name desc')));
    

    【讨论】:

    • 作为脚手架生成 $this->set('groups', $this->paginate());我应该把它作为第三个参数,还是......我有不止一个下拉框,我需要它们在添加和编辑操作中而不是列表(索引)。
    • 抱歉,我以为您收到的是下拉菜单,我以为您在添加/编辑表单上?
    • 烘焙索引页面应该就是这样,并且具有 CRUD 选项烘焙修改操作应该填充一个下拉列表,正如我在回答中所描述的那样。你能澄清一下吗?
    • 好的!添加一个用户,您有一个 Country_id,State_id,City_id,它们来自 coutries 表,......并且默认它将列为按 id 排序的下拉列表,我希望它们按名称排序,因为国家没有按名称添加到 db 上。例如。 1 => 美国,2 => 德国,3=> 法国,4 => 埃及 .. 我希望它们按字母顺序排列。比如 echo $this->Form->input('country_id');应该按名称获取它们。
    • 你在哪里对,我只是错过了 $countries = $this->User->County->find('list');在编辑操作中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多