gpt4 book ai didi

php - 如何使用同步方法 laravel 添加额外数据

转载 作者:行者123 更新时间:2023-12-04 10:50:39 25 4
gpt4 key购买 nike

我正在使用 Laravel 并且我有三个表:products、 features 和 feature_product 第三个表有一个额外的列“值”,我想在同步时添加每个功能的值

所以同步方法在没有值(value)的情况下工作,但每当我想发送值(value)时,它都会给我错误

这是我的代码

  if($request->get('feature')){
foreach($request->get('feature') as $featureName)
{
$feature = Feature::find($featureName);
if($feature)
{
$featureIds[] = $feature->id;
}
}

$product->features()->sync($featureIds);
}

这是我的错误

General error: 1364 Field 'value' doesn't have a default value (SQL: insert into feature_product (feature_id, product_id) values (11, 99))



我知道这是因为我没有为此发送值(value),我想知道我该怎么做

最佳答案

您缺少同步的枢轴值,这就是您收到此错误的原因。

if($request->get('feature')){
$featureIds = array();
foreach($request->get('feature') as $featureName)
{
$feature = Feature::find($featureName);

if($feature){
$featureIds[$feature->id] = ['value'=>'yourvalue'];
}
}

$product->features()->sync($featureIds);
}

尝试使这种数组同步。
$product->features()->sync( array( 
1 => array( 'value' => 'xyz' ),
2 => array( 'value' => 'abc' ),
...
));

关于php - 如何使用同步方法 laravel 添加额外数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487139/

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