Laravel 5 Laravel 5.4与所有人的关系()
我有两张表,QA和qacegories QA有常用字段(增量等),还有一个字段类别id QA类别通常加上一个字段“类别” 质量保证的模式是:Laravel 5 Laravel 5.4与所有人的关系(),laravel-5,eloquent,relationships,Laravel 5,Eloquent,Relationships,我有两张表,QA和qacegories QA有常用字段(增量等),还有一个字段类别id QA类别通常加上一个字段“类别” 质量保证的模式是: class QandA extends Model { protected $table = 'qa'; public function category() { return $this->hasOne('QACategories::class'); } } 而QAA的分类是 class QA
class QandA extends Model
{
protected $table = 'qa';
public function category()
{
return $this->hasOne('QACategories::class');
}
}
而QAA的分类是
class QACategories extends Model
{
protected $table = 'qacategories';
public function question()
{
return $this->hasMany('QandA::class');
}
}
我所要做的就是从控制器返回它们,并将它们传递到具有该类别的视图。如果我这样做
class QandAController extends Controller
{
public function Datatable()
{
$questions = QandA::all();
dd($questions);
return view('datatables.qa',['questions'=>$questions]);
}
}
(我引用了QA类。如果我使用上面的代码,dd是可以的,但是当我尝试添加->类别时,我被告知无论如何
Property [category] does not exist on this collection instance.
请帮忙!我知道这很愚蠢。当你使用::class时,不要把它放在括号里。所以:
$this->hasOne(qacegories::class);
而不是$this->hasOne('qacegories::class')
我已经这样做了,但我仍然得到的属性[category]在这个集合实例上不存在。$questions=QandA::all()->category;dd($questions);尝试此返回视图('datatables.qa')->with('questions',$questions);获取视图不是问题,但dd不显示类别关系。您可以将要匹配的列指定为第二个/第三个参数,我猜QACegories将默认为qua_category_id或q_a_category_id的列,而不是假定的category_id()