【发布时间】:2016-08-13 13:53:56
【问题描述】:
我有两个数据库表,expenses 和 incomes,我创建了一个 MySQL 视图 transactions,它基本上是两者之间的 UNION表格,选择我感兴趣的字段。
交易视图包含以下列:
- transaction_id
- user_id
- 金额
- 注意
- transaction_type
- updated_at
- created_at
我为视图创建了一个 Eloquent 模型,称为 Transactions。
问题是当我想根据某些标准检索交易时。
例如。我想获取用户的所有交易。通常,如果事务是一个表,我会定义一个外键关系,我会简单地调用$user->hasMany('App\Models\Transaction')。
由于视图无法使用外键,我尝试使用“where”方法:Transaction::where('user_id', $user->id)。此查询不返回任何内容,我测试的任何其他查询也不返回。返回数据的唯一方法是Transaction::all(),但这对我帮助不大。
我做错了什么?
【问题讨论】:
-
您想通过查询获取用户信息吗?
-
不,我想获取具有特定 user_id 的所有交易。假设用户 ID 为 3,则等效查询为
SELECT * FROM transactions WHERE user_id = 3。
标签: php mysql laravel eloquent views