gpt4 book ai didi

mysql - CakePHP 3.x - 关联错误 - 无法将表链接在一起

转载 作者:行者123 更新时间:2023-11-29 18:33:18 28 4
gpt4 key购买 nike

我正在尝试关联 2 个表:JobesTypes。 types的表结构非常简单,仅包含idname(1.full-time 2.partial 3.freelance)

Jobs 表除了所有其他字段外还包含名为:type_id 的类型的外键,因此 Jobs belongsTo 类型。我遵循蛋糕约定,但仍然出现相同的错误:

Jobs is not associated with Types...

我创建了 JobsTable 类

use Cake\ORM\Table;
class JobsTable extends Table{

public $name= 'Jobs';

public function initialize(array $config){
$this->belongsTo('Types');
}
}

在 Controller 中声明它:

 <?php

namespace App\Controller;

use App\Controller\AppController;

class JobsController extends AppController

{

public $name='Jobs';

public function index(){
//Get job info
$jobs =$this->Jobs->find('all')->contain(['Types']);
$this->set('jobs',$jobs);

}
}

然后过去查看(index.ctp):

<?php foreach ($jobs as $job) : ?>

<p> <?php echo $job->title; ?> <?php echo $job->types->name; ?></p>

<?php endforeach; ?>

我的错误在哪里?

最佳答案

您还需要设置foreignKey

JobsTable.php

$this->belongsTo('Types', [
'foreignKey' => 'type_id'
]);

TypesTable.php

$this->hasMany('Jobs', [
'foreignKey' => 'type_id'
]);

要从CLI生成正确的关系,请转到命令promot中的'project_directory/bin'并点击以下bake命令:

cake bake types model // for types table

cake bake jobs model // for jobs table

查看详细信息:CakePhp3 Code Generation With Bake

关于mysql - CakePHP 3.x - 关联错误 - 无法将表链接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45517750/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com