我是如此的绝望,并且已经考虑了很长时间,无法想象我会多么感谢您的帮助.相信我.
这是我的情况.有3种类型的用户(角色).客户端,服务提供商,管理员.
ClIEnt – Adds new orders
Service-ProvIDer – Executes added orders
admin – makes sure clIEnt’s added order is correct,finds
service-provIDer and gives it to service-provIDer.
当客户添加新订单时,应该发生的是客户和管理员之间必须有一个投标系统.添加时的订单价格可能是50美元.客户可以出价40美元,然后管理员可以就此出价或出价其他价格.然后客户可以选择接受或尝试其他价格,依此类推.这是主意.协商价格后,服务提供商和管理员之间必须执行相同的过程.
因此,我需要一个表,用于在客户端与admin之间以及admin和服务提供者之间存储出价,并且还需要存储出价历史记录而不是最新出价.
用户表
+----+--------+---------------------------------+-------------+| ID | name | userable_type | userable_ID |+----+--------+---------------------------------+-------------+| 1 | George | App\http\Models\ClIEnt | 2 || 2 | John | App\http\Models\ServiceProvIDer | 3 || 3 | Ben | App\http\Models\admin | 4 |+----+--------+---------------------------------+-------------+
客户端表/管理表/服务提供者表现在看起来相同
+----+--+| ID | |+----+--+| 1 | || 2 | || 3 | |+----+--+
现在,如果我要制作出价表,则不想为服务提供商,管理员和客户分别创建新表.我更喜欢使它成为唯一的一个.
让我们举个例子:
+----+----------+---------+-------+| ID | order_ID | user_ID | price |+----+----------+---------+-------+| 1 | 2 | 1 | 50 || 1 | 2 | 1 | 60 || 1 | 2 | 3 | 70 |+----+----------+---------+-------+
现在,我如何知道对管理员的出价,对客户的出价和对服务提供商的出价?基本上,我要获取的是order_ID 2的所有客户出价和管理员出价,以及order_ID 2的提供者出价和管理员出价.我已尽力而为,但仍无法解决.也许是更好的版本,您可以建议我使用.
谢谢.
最佳答案您可以通过加入获得出价$bIDs = DB::table('bIDs') ->join('users','users.ID','=','bIDs.user_ID') ->select('bIDs.*','users.userable_type') ->where('bIDs.order_ID',$order_ID) ->whereIn('users.userable_type',['App\http\Models\ClIEnt','App\http\Models\admin']) ->get();
总结 以上是内存溢出为你收集整理的mysql-如何为不同类型的用户制作出价表结构 全部内容,希望文章能够帮你解决mysql-如何为不同类型的用户制作出价表结构 所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)