gpt4 book ai didi

php - 从多个表复制列值并插入 Laravel 中的第三个表

转载 作者:行者123 更新时间:2023-11-29 19:46:06 26 4
gpt4 key购买 nike

我希望用“Contains.ISBN”、“Contains.number”、“Stocks.warehouseCode”填充“ShippingOrder”,对于用户名,我从 之间的联接获取它'Contains.basketID' = 'ShoppingBasket.basketID'

我有这个在 mysql 中为我工作-

INSERT INTO ShippingOrder (SELECT DISTINCT co.ISBN, s.warehouseCode, sb.username, co.number FROM Contains co INNER JOIN Stocks s INNER JOIN ShoppingBasket sb ON co.ISBN = s.ISBN AND sb.basketID=co.basketID AND co.basketID='".$basketID."' GROUP BY co.ISBN)

TABLE `ShippingOrder` (
`ISBN` int(11) NOT NULL,
`warehouseCode` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`number` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

TABLE `Contains` (
`ISBN` int(11) NOT NULL,
`basketID` varchar(50) NOT NULL,
`number` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

TABLE `Stocks` (
`ISBN` int(11) NOT NULL,
`warehouseCode` int(11) NOT NULL,
`number` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

TABLE `ShoppingBasket` (
`basketID` varchar(50) NOT NULL,
`username` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我不明白如何在 Laravel 5+ 中执行此操作。我可以运行简单的查询,但我不知道如何运行上面提到的查询。谢谢。 Check this image

最佳答案

您可以尝试格式化输出

因此,如果您从第一个查询返回结果,则可以不必立即插入 INSERT INTO

DB::table('ShippingOrder')->insert(
['ISBN' => '123', 'warehouseCode' => 1, 'username' => 'bob', 'number' => 4]
);

因此,如果您将结果作为数组:

DB::table('ShippingOrder')->insert(
$rows
);

或者直接在原始查询中完成这一切

DB::raw('INSERT INTO ShippingOrder ...'); // plus rest of query

所以你会跳过一些 Laravel 产品,但仍然有可能。

关于php - 从多个表复制列值并插入 Laravel 中的第三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com