【发布时间】:2020-07-05 12:35:43
【问题描述】:
我有两个表,用户和成绩。
用户表
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('grade_id')->nullable();
}
}
成绩表
public function up()
{
Schema::create('grades', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->timestamps();
});
}
我用json_encode保存成绩ID,
我保存在这样的字段中
$user->grade_id = json_encode($request->input('grade_id'));
我想退回grade name,但我的问题没有解决
控制器
public function index()
{
$grades = Grade::all();
return view('index', compact('grades');
}
User.php
public function grade()
{
return $this->belongsTo(Grade::class);
}
index.blade.php
@if(isset(auth()->user()->grade_id) && !empty(auth()->user()->grade_id))
<?php
$grade = json_decode(auth()->user()->grade->name, true);
@foreach($grade as $key=>$item)
<li>
<div class="grade">{{ $grade[$key] }}</div>
</li>
@endforeach
?>
@endif
我得到了这个错误
试图获取非对象的属性
【问题讨论】:
标签: laravel-5.8