Laravel 5一对多问题
Laravel 5 One to Many Issue
我已经遵循了所有关于关系的 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'));
}
这是视图“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 'App/Component' 未找到
有人可以帮忙吗?我已经在这里待了几天,阅读了我能找到的所有内容,但无济于事,我正在失去希望。
谢谢,
珍妮
我怀疑:
return $this->hasMany('App/Component');
当你定义另一个时:
return $this->belongsTo('App\Qualification');
据我所知应该是“\”。
而且,$component = Qualification::find(1)->component()->get();
所以,它将是一个查询结果数组,而不是一些查询生成器。
我已经遵循了所有关于关系的 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'));
}
这是视图“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 'App/Component' 未找到
有人可以帮忙吗?我已经在这里待了几天,阅读了我能找到的所有内容,但无济于事,我正在失去希望。
谢谢,
珍妮
我怀疑:
return $this->hasMany('App/Component');
当你定义另一个时:
return $this->belongsTo('App\Qualification');
据我所知应该是“\”。
而且,$component = Qualification::find(1)->component()->get();
所以,它将是一个查询结果数组,而不是一些查询生成器。