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