我有两个数据库表(支出和收入),并创建了一个MySQL视图transactions,基本上是两个表之间的UNION,选择了我感兴趣的字段。
该交易视图包含以下几列:
我为该视图创建了一个雄辩的模型,称为事务。
问题是当我想根据某些条件检索交易时。例如,我想获取一个用户的所有交易。通常,如果交易是一个表,我将定义一个外键关系,然后简单地调用$user->hasMany('App\Models\Transaction')
。
由于外键无法用于视图,因此我尝试使用“ where”方法:Transaction::where('user_id', $user->id)
。该查询不返回任何内容,我测试过的任何其他查询也不返回任何内容。返回数据的唯一方法是Transaction::all()
,但这对我没有太大帮助。
我究竟做错了什么?
对于Eloquent中的where语句,您必须以get结尾,请尝试以下操作:
$transactions = Transaction::where('user_id', $user->id)->get();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句