Php 如何一次更新具有相同值的多行和数据库?拉维尔

Php 如何一次更新具有相同值的多行和数据库?拉维尔,php,forms,sql-update,laravel,laravel-3,Php,Forms,Sql Update,Laravel,Laravel 3,我被困在代码里了。我设法创建了一个表单,在db中添加了多行,但当我需要使用产品代码作为id时,我不知道如何同时更新它们 这是表1(产品)结构: id | product_name | product_code 1 | Name1 | 101 2 | Name2 | 102 3 | Name3 | 103 4 | Name4 | 104 这是表2(产品)结构: id | product_name | product_code 1

我被困在代码里了。我设法创建了一个表单,在db中添加了多行,但当我需要使用产品代码作为id时,我不知道如何同时更新它们

这是表1(产品)结构:

id | product_name | product_code
1  | Name1        | 101
2  | Name2        | 102
3  | Name3        | 103
4  | Name4        | 104
这是表2(产品)结构:

id | product_name | product_code
1  | Name1        | 101
2  | Name2        | 102
3  | Name3        | 103
4  | Name4        | 104
这是编辑功能:

    public function post_edit($id = null)
{

    if(Input::get('submit'))
    {
        // ID
        if($id !== null)
        {
            $id = trim(filter_var($id, FILTER_SANITIZE_NUMBER_INT));
        }


        $input = Input::all();

        $validation = Validator::make($input);

        else
        {
            foreach ($input as $key => $value)
            {
                $input[$key] = ($value !== '') ? trim(filter_var($value, FILTER_SANITIZE_STRING)) : null;
            }

            try
            {

                DB::table('products')
                    ->whereIn($id)
                    ->update(array(
            'product_name'          => $items['product_name'],
            'product_code'          => $items['product_code']
                ));


            }

    }

    return $this->get_edit($id);
}
有了它,我只能按id编辑产品表中的*产品名称*和产品代码。 但我正试图用相同的产品代码更新db中的多行,该代码将用作id

//我在Google images上找到了一张很好的图片,它解释了我想用Laravel做什么:


有解决办法吗?提前谢谢你

假设您使用的是MySQL:让数据库的
外键
通过命令为您执行此操作。如果您更改基本
产品
表中的
产品
,这将更新所有引用的表

创建
产品的脚本

...
product_code INT NOT NULL REFERENCES products(product_code) ON UPDATE CASCADE
...
作为laravel
迁移

Schema::create('products_ing', function($table) {
    $table->increments('id');
    $table->int('product_code');
    $table->string('ing_name');
    $table->int('ing_weight');

    /* All the other key stuff */
    $table
        ->foreign('product_code')
        ->references('product_code')
        ->on('products')
        ->onUpdate('cascade');
});

我为等待道歉。谢谢你。这很好,但不是我所需要的全部。正如您所说的“如果您更改了基础products表中的product_代码,这将更新所有引用的表。”我不能很好地解释这个问题,对此我深表歉意。我更新了问题的更多细节。我正试图用相同的产品代码更改db中的多行,这将用作id,现在我只知道用一个id编辑一列。。。