Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数据复制到其他表中,检查是否存在_Php_Laravel_Controller_Copy_File Exists - Fatal编程技术网

Php 将数据复制到其他表中,检查是否存在

Php 将数据复制到其他表中,检查是否存在,php,laravel,controller,copy,file-exists,Php,Laravel,Controller,Copy,File Exists,我想把许多行复制到另一个表中 表临时数据 | id | name | email | id_transaction | order_number | |----|------|------------|----------------|--------------| | 1 | Gery | a@mail.com | A1 | 1 | | 2 | Ray | b@mail.com | A1 | 2

我想把许多行复制到另一个表中

临时数据

| id | name |  email     | id_transaction | order_number |
|----|------|------------|----------------|--------------|
| 1  | Gery | a@mail.com | A1             | 1            |
| 2  | Ray  | b@mail.com | A1             | 2            |
| id | name | email | id_transaction | order_number |
我想将这些行复制到表主数据

| id | name |  email     | id_transaction | order_number |
|----|------|------------|----------------|--------------|
| 1  | Gery | a@mail.com | A1             | 1            |
| 2  | Ray  | b@mail.com | A1             | 2            |
| id | name | email | id_transaction | order_number |
我想检查是否存在
id\u交易
order\u编号
,该行不会复制到主数据

这是我到目前为止尝试过的,但它只是从
id\u事务中复制第一行

| 1 | Gery | a@mail.com | A1 | 1 |


尝试删除您希望复制的记录的
id
(如果您不在乎)或更改它。我还建议您返回
$copy
的值,以了解该变量的填充方式,如果未按预期填充,请使用
toSql()
输出正在执行的查询

无论如何,您应该为
循环计算
主数据
记录,外部
,因为您重复同一查询很多次,这是无用的,也是对机器资源的浪费

您提供的代码应为:

$copy = TEMPORARYDATA::select('name', 'email', 'id_transaction', 'order_number')
                     ->where('id_transaction', '=', $id_trans )
                     ->get()
                     ->toArray();

$count = MAINDATA::where('id_transaction', $id_trans)
                 ->groupby('order_num')
                 ->count();

foreach ($c as $copy) 
{
    if ($count > 0)
        ;
    else
        MAINDATA::insert($c);
}

N.B.:确保您试图在表中插入的属性位于模型中的
受保护的$filleble
数组中。阅读更多信息

尝试使用此代码将临时数据表传输到主数据表,您的条件也会得到满足。 $temporary_Data=[]

`$temporary\u Data=TEMPORARYDATA::where('id\u transaction','=',$id\u trans)->get()

foreach($Data形式的临时数据) {
$mainObj=['name'=>$temporary\u Data->name,
“email”=>$temporary\u Data->email,
'id\u transaction'=>$temporary\u Data->id\u transaction,
“订单号”=>$temporary\u Data->order\u number,]
MAINDATA::创建($data); }`