【问题标题】:cakephp 3 populate list with data from another tablecakephp 3 用另一个表中的数据填充列表
【发布时间】:2016-05-28 09:41:01
【问题描述】:

我正在尝试从表中的数据填充列表。该表称为字段,而我要获取的列称为 CALIBER_F。我的控制器有以下内容:

$caliber = $this->fields->CALIBER_F->find('list'); $this->set(compact('caliber'));

但是,我收到此错误: 错误:在 null 上调用成员函数 find()。该列没有空值。理想情况下,我希望能够从多个表中填充列表。通常我的选择会是这样的:

从 public.FIELDS 中选择 CALIBER_F,其中 CALIBER_F 不为空 联盟 从 public.GUN 中选择口径,口径不为空 联盟 在 CALIBER_AMMO 不为 NULL 的情况下,从 AMMO 中选择 CALIBER_AMMO;

【问题讨论】:

    标签: mysql list cakephp dynamic


    【解决方案1】:

    看起来您可能需要重新检查您的语法。如果数据库表名是“fields”,那么模型名应该是Fields。

    如果您在其他控制器中编写此代码(FieldsController.php 除外),请使用 $this->loadModel 在运行时加载模型

       $this->loadModel("Fields");
    
       $caliber = $this->Fields->find("list", [
          "keyField" => "id",
          "valueField" => "CALIBER_F"
       ])
       ->toArray();
    
       $this->set(compact('caliber'));
    

    这肯定可以解决您的问题。

    和平! xD

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 2023-03-21
      • 2019-05-06
      • 2017-03-02
      • 1970-01-01
      相关资源
      最近更新 更多