我有两个数据库表,费用和收入,我创建了一个MySQL视图,交易,它基本上是两者之间的UNION表,选择我感兴趣的字段。
交易视图包含以下列:
我为视图创建了一个Eloquent Model,称为Transactions。
问题在于我想根据特定条件检索交易。
例如。我想获得用户的所有交易。通常,如果事务是一个表,我会定义一个外键关系,我只需要调用$user->hasMany('App\Models\Transaction')
。
由于视图无法使用外键,我尝试使用'where'方法:Transaction::where('user_id', $user->id)
。此查询不会返回任何内容,也不会返回我测试的任何其他查询。返回数据的唯一方法是Transaction::all()
,但这对我没什么帮助。
我做错了什么?
答案 0 :(得分:3)
对于Eloquent中的where语句,你必须以get结束,试试这个:
$transactions = Transaction::where('user_id', $user->id)->get();