【发布时间】:2019-08-18 20:23:23
【问题描述】:
我正在尝试建立关系
问题hasMany答案
问题.php
public function answers()
{
return $this->hasMany(Answer::class);
}
然后在 show.blade.php 中显示一个问题的答案,例如:
@foreach($question->answers as $answer)
{{$answer->ans}} //ans is the answers body from database
@endforeach
得到这个错误:
SQLSTATE[42S22]:未找到列:1054 'where 子句'中的未知列 'answers.question_id'(SQL:select * from
answerswhereanswers.question_id= 5 和answers.@ 987654330@不为空)(查看:C:\Users\harsh\sa1\resources\views\questions\show.blade.php)
【问题讨论】:
-
请同时发布您的迁移
-
你的答案表是什么样子的?
-
question_id!=q_id- 您需要与列的命名保持一致,否则在hasMany()中明确指定。更容易将q_id重命名为question_id。 -
查询说的 question_id 但你的表有列 q_id 只是改变它
-
在数据库中将字段名称 q_id 更改为 question_id 或在关系中指定字段名称 q_id
标签: php laravel laravel-5 eloquent