具有多列主键的 Laravel 模型

Posted

技术标签:

【中文标题】具有多列主键的 Laravel 模型【英文标题】:Laravel Model with Multi Column Primary Key 【发布时间】:2012-11-24 22:53:08 【问题描述】:

所以我的应用程序中有一个简单的表,它存储了用户和订单之间的多对多关系。因此,该表有一个 2 列的主键(userid、orderid)来存储值。

在 Laravel 中,我想检查表中是否存在某个用户/订单组合,如果不存在,则插入该行。

我不知道如何使用Order::find() 来检索这一行。理想情况下,我希望能够做类似Order::find(array('userid' => $userno, 'orderid' => $orderno)) 的事情,但这会引发错误。

有什么想法吗?

【问题讨论】:

【参考方案1】:

你可以使用where方法:

Order::where_userid($userno)->where_orderid($orderno)->count(); 此行返回结果计数。如果为零,则可以插入。最后,我建议您阅读docs。

【讨论】:

根据文档,我应该能够检索这样的记录:Order::where("userid", "=", $userno)->where("orderid", "=", $orderno)->get(); ...不幸的是,这对我没有任何回报。 抱歉,回复延迟,我好几个星期都忘记访问 *** 了 :)。无论如何,对于您的问题(可能您找到了答案),我建议您在开发时激活分析器工具栏(在 config/application.php 中)。以便您可以看到sql查询并轻松找到问题。

以上是关于具有多列主键的 Laravel 模型的主要内容,如果未能解决你的问题,请参考以下文章

在 PetaPoco 中,如何装饰具有多列主键的表

将数据插入具有主键的表(多列)中,该表具有除主键以外的数据的另一个数据

如何通过多列理想地组合具有不同主键的两个表 HASH

无法创建或更改没有主键的表 - Laravel DigitalOcean 托管数据库

复合键的 Laravel 验证

具有自定义外键的 Laravel 多态