无法通过Laravel 5.3中的show方法创建数据

I am working on notifications I have 2 tables: one is notify and the other is notify_status. Through notify I am showing data like title and description and in notify_status I have field read_status which is by default 0. After I show it I want to change it to 1. I also have notify_id in it as a foreign key. This is my show method:

public function show($id)
{
    $notify        = Notify::find($id);
    $notify_status = NotifyStatus::where('notify_id', $id)->get();

    $user_data['read_status'] = 1;
    $user = NotifyStatus::create($user_data);

    return view('notify.desr')->with(compact('notify'));
}

But it isn't creating against notify_id. What should I do?

Your models should define the following relationships:

class Notify extends Model
{
    public function setAsRead()
    {
        $this->status->read_status = 1
        $this->status->save();
    }

    public function wasRead()
    {
        return (bool) $this->status->read_status;
    }

    public function status()
    {
        return $this->hasOne(NotifyStatus::class);
    }
}

class NotifyStatus extends Model
{
    public function notify()
    {
        return $this->belongsTo(Notify::class);
    }
}

Take a look at Laravel Eloquent Relationships for further reading.

In your controller you can use it like:

$notify = Notify::find($id);

$notify->status->read_status = 1;
$notify->status->save();

return view('notify.desr')->with(compact('notify'));

Or you can simply create a new method to set the new status (take a look at first method of Notify class):

$notify = Notify::find($id);

$notify->setAsRead();

return view('notify.desr')->with(compact('notify'));
public function show($id)
{
    $notify        = Notify::find($id);
    $notify_status = NotifyStatus::where('notify_id', $id)->first();

    $notify_status->read_status = 1;
    $notify_status->save()

    return view('notify.desr')->with(compact('notify'));
}