无法在 eloquent 中使用 where

Cannot using where in eloquent

我在 Laravel 中使用 Eloquent ORM。有 2 个模型,User 和 Trans。 User hasMany Trans,Trans belongsTo User。问题是当我在哪里使用查询时,它不起作用。

我试过在最后的代码中使用->get(),它仍然不起作用。我尝试在最后的代码中使用 ->all() 它仍然不起作用。我试了whereIn,还是不行

用户模型

public function trans()
{
    return $this->hasMany('App\Trans', 'user_id');
}

跨模型

public function user ()
{
    return $this->belongsTo('App\User','user_id');
}

控制器

$trans = Auth::user()->trans->where('date', $date);

我希望输出基于查询,其中日期基于用户输入,当我删除 ->where 时,它有效并且输出如下。

Collection {#797 ▼
  #items: array:13 [▼
    0 => Trans {#783 ▶}
    1 => Trans {#784 ▶}
    2 => Trans {#785 ▶}
    3 => Trans {#786 ▶}
  ]
}

努力改变

Auth::user()->trans->where('date', $date);

Auth::user()->trans()->where('date', $date)->get();

note : if you want to get only property then u get property without pointer but if you want to used another method then must used(add) pointer(->).