【问题标题】:CakePHP - Undefined Property when trying $this->Restaurant->City->find('list');CakePHP - 尝试 $this->Restaurant->City->find('list') 时的未定义属性;
【发布时间】:2011-04-06 12:16:36
【问题描述】:

我正在尝试允许管理员编辑“餐厅” - 他们需要能够更改的一件事是餐厅所在的城市。所以 - 我试图通过restaurants_controller.php将我的“城市”表中的城市列表传递给我的/restaurants/admin_edit.ctp

function admin_edit($id = null) {
    $this->set('cities', $this->Restaurant->City->find(
        'list', array('order' => 'City.name', 'fields' => 'City.id, City.name')));

        ...etc

我希望/假设这是一个愚蠢的问题,我只是做错了,因为我是 CakePHP 的新手,但是经过一个半小时的搜索,我找不到关于如何获取列表的解释来自restaurants_controller.php的城市

我已经在 restaurant.php 模型中设置了我的 hasOne,在我的 city.php 模型中设置了我的 belongsToMany(不确定这是否重要)。

【问题讨论】:

    标签: php cakephp cakephp-1.3


    【解决方案1】:

    所以 - 问题是,我的关联已关闭。我误解了这些关联,但在阅读了this incredibly helpful article 之后,我重写了我的关联(hasMany、belongsTo...等),瞧——“查找”工作得很好。

    我还发现一些地方说我可以使用 $uses 变量,但我发现其他一些地方立即驳回了这一点,并说只使用正确的关联。

    【讨论】:

    • 是的,如果您的关联正确,通常不需要$uses。如果您发现自己经常使用$uses,那么可能是时候重新考虑您的数据库设计了
    • 我是这么认为的,但总是很高兴听到其他人验证 :) 谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2018-03-31
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多