Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 无法显示来自以下位置的行:_Cakephp_Cakephp 3.0 - Fatal编程技术网

Cakephp 无法显示来自以下位置的行:

Cakephp 无法显示来自以下位置的行:,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我无法显示任何来自归属关系的行(导师有科目)。我在另一个表上使用了完全相同的代码,但由于某种原因,该代码给出了一个错误,即当列存在时,该列不存在 错误:SQLSTATE[42S22]:找不到列:“on子句”中的1054未知列“Subjects.subject\u id” 导师模式 $this->belongsToMany('Subjects', [ 'foreignKey' => 'tutor_id', 'targetForeignKey' => 'subject_

我无法显示任何来自归属关系的行(导师有科目)。我在另一个表上使用了完全相同的代码,但由于某种原因,该代码给出了一个错误,即当列存在时,该列不存在

错误:SQLSTATE[42S22]:找不到列:“on子句”中的1054未知列“Subjects.subject\u id”

导师模式

$this->belongsToMany('Subjects', [
   'foreignKey' => 'tutor_id',
   'targetForeignKey' => 'subject_id',
   'joinTable' => 'tutors_subjects'
]);

尝试将您的表重命名为
subjects\u tutors
as
subjects\u tutors

联接表,用于模型之间的隶属关系, 应以它们将加入的模型表命名,并按 字母顺序(文章\u标签而不是标签\u文章)


更多信息

请尝试将您的表重命名为
tutors\u subjects
,因为
subjects\u tutors
subjects\u tutors有效,这就是问题所在。我不可能猜到这一点,因为这张表是默认装箱的。请在你的帖子中给出答案,这是一个非常棘手的问题,你解决了,这不应该是问题所在。CakePHP有一些约定,但它们在很大程度上不是强制的,即指定非常规的表名应该绝对没有问题。我宁愿怀疑在修改了相关表的模式后,模型缓存还没有被清除。ndm-我所做的只是重命名了表,代码现在可以工作了。这似乎是杰克找到解决方案的cakephp3的问题。我也没有指定这个表名,因为它是默认创建的。
$this->belongsToMany('Subjects', [
   'foreignKey' => 'tutor_id',
   'targetForeignKey' => 'subject_id',
   'joinTable' => 'tutors_subjects'
]);