I have two tables, users and grades.
users table
    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();
        }
     }
grades table
    public function up()
    {
        Schema::create('grades', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->timestamps();
        });
    }
 I save id of grade with json_encode,
[![json][1]][1]
I save in field like this 
        $user->grade_id = json_encode($request->input('grade_id'));
I want to return the grade name but I did not solve my problem
Controller
    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
I get this errpr
> Trying to get property of non-object