我已经关注了关于人际关系的所有Laravel文档,但我仍然遇到问题。
我有两张桌子:
资格 -ID -码 -标题 级细节
组件 -ID -名称 -qualification_id
每个资格证书都有许多组件,每个组件都有一个资格证书。
这是我的资格模型:
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Qualification extends Model {
protected $fillable = [
'code',
'title',
'type',
'level',
'details',
];
protected $table = 'qualifications';
public $timestamps = true;
public function component()
{
return $this->hasMany('App/Component');
}
}
组件模型:
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Component extends Model {
protected $fillable = [
'name',
'qualification_id',
];
protected $table = 'components';
public $timestamps = true;
public function qualification()
{
return $this->belongsTo('App\Qualification');
}
}
我想在查看资格时显示相关单位。
资格控制员:
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Component;
use App\Qualification;
use App\Http\Requests\QualificationRequest;
class QualificationController extends Controller {
public function show($id)
{
$qualification = Qualification::find($id);
$component = Qualification::find(1)->component;
return view('qualifications.show', compact('qualification','component'));
}
以下是视图&#39; qualifications.show'
@extends('app')
@section('content')
<h1>{{ $qualification->title }} </h1>
<div class="body">{{ $qualification->code }}</div>
<h2> Units </h2>
@foreach ($component as $component)
<div class="body"> {{ $component->name }} </div>
@endforeach
@stop
但我一直收到错误:
Model.php第893行中的FatalErrorException:Class&#39; App / Component&#39;找不到
请有人帮忙吗?我已经在这里待了几天,读了我能找到的所有东西,但无济于事,我失去了希望。
谢谢,
珍妮。
答案 0 :(得分:0)
我怀疑:
return $this->hasMany('App/Component');
当你定义另一个时:
return $this->belongsTo('App\Qualification');
它应该&#39; \&#39;就目前我所记得的。
而且,$component = Qualification::find(1)->component()->get();
所以,它将是一个查询结果数组,而不是一些查询生成器。