Laravel 插入带外键的数组
Laravel insert array of arrays with foreign keys
我有两个table,新闻和news_links。新闻 table 看起来像这样 (id, title, body, date_published) 而 news_links 看起来像这样 (id, news_id, url).
我正在尝试构建一个可以插入新闻数组的查询:
array(
array(
"id" => "123456",
"title" => "First Title",
"body" => "First body text",
"date_published" => "01-01-16"
)
array(
"id" => "22222",
"title" => "Second Title",
"body" => "Second body text",
"date_published" => "01-01-16"
)
)
这个数组将包含多个数组,这只是一个例子。
还将插入与这些新闻相关的链接。
array(
array(
"0" => "1",
"1" => "123456",
"2" => "img_url"
)
array(
"0" => "2",
"1" => "123456",
"2" => "img_url"
)
array(
"0" => "2",
"1" => "22222",
"2" => "img_url"
)
)
我是否必须构建一个 foreach 循环和 运行 多个查询,或者是否有办法 运行 单个查询并将所有内容插入新闻和 news_links?
不,您不能使用一个查询在两个不同的 table 中插入数据。但是,您可以在一个查询中为一个 table 组合多个插入。
它看起来像
INSERT INTO news_links VALUES(1,123456,'url'),(2,123456,'url'),(2,22222,'url');
我认为这是一个简单的解决方案NewsLink::insert(array);
我有两个table,新闻和news_links。新闻 table 看起来像这样 (id, title, body, date_published) 而 news_links 看起来像这样 (id, news_id, url).
我正在尝试构建一个可以插入新闻数组的查询:
array(
array(
"id" => "123456",
"title" => "First Title",
"body" => "First body text",
"date_published" => "01-01-16"
)
array(
"id" => "22222",
"title" => "Second Title",
"body" => "Second body text",
"date_published" => "01-01-16"
)
)
这个数组将包含多个数组,这只是一个例子。
还将插入与这些新闻相关的链接。
array(
array(
"0" => "1",
"1" => "123456",
"2" => "img_url"
)
array(
"0" => "2",
"1" => "123456",
"2" => "img_url"
)
array(
"0" => "2",
"1" => "22222",
"2" => "img_url"
)
)
我是否必须构建一个 foreach 循环和 运行 多个查询,或者是否有办法 运行 单个查询并将所有内容插入新闻和 news_links?
不,您不能使用一个查询在两个不同的 table 中插入数据。但是,您可以在一个查询中为一个 table 组合多个插入。 它看起来像
INSERT INTO news_links VALUES(1,123456,'url'),(2,123456,'url'),(2,22222,'url');
我认为这是一个简单的解决方案NewsLink::insert(array);