belongsTo在cakephp3中不起作用
OrganizationNos与OrganizationType有许多关系belongsTo在cakephp3中不起作用,php,sql,cakephp,foreign-key-relationship,Php,Sql,Cakephp,Foreign Key Relationship,OrganizationNos与OrganizationType有许多关系 id | name 1 | aa 2 | bb 3 | cc class organTypeTable extends table { public function initialize(array $config) { $this->table('organType'); $this->p
id | name
1 | aa
2 | bb
3 | cc
class organTypeTable extends table
{
public function initialize(array $config)
{
$this->table('organType');
$this->primaryKey('id');
}
}
塔贝尔组织
id | name | organType_id
1 | a | 1
2 | b | 1
3 | c | 2
4 | d | 3
class organizationsTable extends table
{
public function initialize(array $config)
{
$this->table('organizations');
$this->primaryKey('id');
$this->belongsTo('organType', [
'foreignKey' => 'organType_id',
]);
}
}
表类型
id | name
1 | aa
2 | bb
3 | cc
class organTypeTable extends table
{
public function initialize(array $config)
{
$this->table('organType');
$this->primaryKey('id');
}
}
i在organiztinos模型中使用belongsTo=>“organType”
示范组织
id | name | organType_id
1 | a | 1
2 | b | 1
3 | c | 2
4 | d | 3
class organizationsTable extends table
{
public function initialize(array $config)
{
$this->table('organizations');
$this->primaryKey('id');
$this->belongsTo('organType', [
'foreignKey' => 'organType_id',
]);
}
}
模型组织型
id | name
1 | aa
2 | bb
3 | cc
class organTypeTable extends table
{
public function initialize(array $config)
{
$this->table('organType');
$this->primaryKey('id');
}
}
控制器
$organization=TableRegistry::get('organizations');
$organization=$organization->find('all')->offset(0)->limit(30) ;
debug($organization);
但在结果中,仅返回organizations表我希望organizations内部联接为organizations\u类型
坏结果:
'sql' => 'SELECT organizations.id AS `organizations__id`, organizations.name AS `organizations__name`, organizations.organType_id AS `organizations__organType_id` FROM organizations organizations LIMIT 30 OFFSET 0',
我想要这个结果:
'sql' => 'SELECT organizations.id , organizations.name , organizations.organType_id FROM organizations inner join organType on organizations.organType_id=organType.id
对于cakephp 3中的“从外部表中选择”,使用了contain(['organType'])
检查此链接:-然后尝试检查“belongsTo”语法是否正确。还要检查模型类的名称。还要检查是否在数据库级别正确建立了关系。在你的情况下,只有这三个问题会发生。