cakephp3中的关系

时间:2019-07-09 13:48:56

标签: php cakephp associations cakephp-3.x

我正在尝试建立表格之间的关系 我读了cakephp3中的文档,以及stackoverflow中的大量帖子,但仍然没有任何结果。我有两个桌子。

  • category (id, name, published, created, modified)

  • portfolio (id, category_id, name, created, modified)

我想显示portofolio的每个元素,其类别如下:

Category Cars

* element 1: Bmw
* element 2: Audi
* element 3: Ford

如何建立这种关系并显示?

我写的是类别模型:

 $this->belongsTo('Portfolios', [
              'foreignKey' => 'id'
          ]);

这是查询:

$portfolios_category = $this->Categories->find()
            ->contain(['Portfolios'])
            ->where(['Categories.published' => 1])
            ->order(['Categories.created' => 'desc'])
            ->all();

2 个答案:

答案 0 :(得分:1)

只需更正一次:

 $this->belongsTo('Portfolios', [
              'foreignKey' => 'category_id'
 ]);

$portfolios_category之后循环, 希望你能得到结果。

答案 1 :(得分:0)

开始使用命令提示符。 转到您的project_folder / bin /并打开命令提示符。

然后输入

cake bake model

然后您将获得带有型号名称的表格列表, 然后输入

cake bake model <ModelName>

例如:

cake bake model Category
cake bake model Portfolio