我試圖將數據傳遞給我的看法,我想以可視化的一些記錄,名字不是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 ... –