我试图将数据传递给我的看法,我想以可视化的一些记录,名字不是ID所以在我的控制器我有这样的:显示不是id,而是显示与外键连接的表中某个数据的名称。 - Laravel 5.2
`public function getIndex() {
return view('admin.rules.list', [
'rules' => ClassSubject::get(),
'classes'=> Clas::lists('name', 'id'),
'subjects' => Subject::lists('name', 'id'),
'teachers'=>User::where('type','=','teacher')->get()->lists('full_name','id')
]);
}
public function postIndex(Request $request) {
$rule = ClassSubject::create([
'class_id'=> $request->get('class_id'),
'subject_id'=> $request->get('subject_id'),
'teacher_id'=> $request->get('teacher_id'),
]);
if($rule->id) {
return redirect()->back()->with('message', [
'type'=> 'success',
'message' => 'Успешно записан нов клас!'
]);
}
return redirect()->back()->with('message', [
'type'=> 'danger',
'message' => 'Класът не е записан!'
]);
}`
我通过它在我鉴于这样的(表的一部分):
`@foreach($rules as $rule)
<tr>
<td>{{ $rule->user->full_name }}</td>
<td>{{ $rule->subject->name}}</td>
<td>{{ $rule->clas->name}}</td>
<td>{{ $rule->created_at->format('d.m.Y, H:i') }}</td>
<td>{{ $rule->updated_at->format('d.m.Y, H:i') }}</td>
<td>
<a href="{{ url('admin/rule/edit/'.$rule->id) }}" class="btn btn-sm btn-success">Редактирай</a>
<a href="{{ url('admin/rule/delete/'.$rule->id) }}" class="btn btn-sm btn-danger">Изтрий</a>
</td>
</tr>
@endforeach`
所以这事,我看到的问题,而不是ID的名称<td>{{ $rule->subject->name}}</td>
作品完美,但与其他两个:<td>{{ $rule->user->full_name }}</td>
和<td>{{ $rule->clas->name}}</td>
我有是错误消息:
提供的foreach 无效的参数()(查看:C:\ XAMPP \ htdocs中\ school_system \资源\意见\ ADMIN \规则\ list.blade.php)
我发布表(型号)的连接,因为我认为可能有共同smthg:
用户等级:
`public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
public function classes() {
return $this->belongsTo(Clas::class);
}
public function subjects() {
return $this->hasMany(Subject::class);
}
public function classSubject() {
return $this->hasMany(ClassSubject::class);
}
public function studentMark() {
return $this->hasMany(StudentMark::class);
}
public function getFullNameAttribute()
{
return $this->first_name . ' ' . $this->last_name;
}
}`
柯乐类:
`protected $fillable = [
'name',
'profile_id'
];
protected $table = 'classes';
public function profile() {
return $this->belongsTo(Profile::class);
}
public function user() {
return $this->hasMany(User::class);
}
public function classSubject() {
return $this->hasMany(ClassSubject::class);
}
public function student() {
return $this->hasMany(Student::class);
}
public function studentMark() {
return $this->hasMany(StudentMark::class);
}`
主题类:
`protected $fillable = [
'name'
];
public function classSubject() {
return $this->hasMany(ClassSubject::class);
}
public function studentMark() {
return $this->hasMany(StudentMark::class);
}
public function user() {
return $this->belongsTo(User::class);
}
public function teacher() {
return $this->hasMany(Teacher::class);
}`
这连接它们的表:
`class ClassSubject extends Model
{
protected $fillable = [
'class_id',
'subject_id',
'teacher_id',
'method_of_study_id',
];
public function subject()
{
return $this->belongsTo(Subject::class);
}
public function classes()
{
return $this->belongsTo(Clas::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}`
我会真的心存感激,如果有人可以帮助,我试图解决这一问题的天..: )
是的,但即使有'$基于规则>类 - > name'不起作用,仍然是相同的错误 –
你得到'ClassSubject :: get()'的结果是多少?如果只有一个雄辩会返回一个模型而不是一个集合。该模型不会被迭代,如果作为foreach循环的参数给出,会抛出一个错误 – jclyons52
不,它不仅是一个。问题出在这两个:'{{$ rule-> user-> full_name}}'; '{{$基于规则> clas->名称}}'因为如果我打电话给他们这样的:'{{$基于规则> teacher_id}}'和'{{$基于规则>类标识码}} '我的网页显示,但我只看到ID ... –