Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Laravel 雄辩的each()方法返回零值_Laravel_Eloquent_Slim 3 - Fatal编程技术网

Laravel 雄辩的each()方法返回零值

Laravel 雄辩的each()方法返回零值,laravel,eloquent,slim-3,Laravel,Eloquent,Slim 3,这个问题涉及到 流程图:上载文件>创建默认值为0的表行>继续在0部分上迭代,如果最后一个是3->4,5,6 我想在第一次图像上传过程后继续向特定项目添加图像 $input['id']:保存项目id值 我确实会这样应用每种方法: *** code part executed after multiple file upload *** TABLE STATUS AT FIRST STAGE : +---------+-------------+-----------+ | id | p

这个问题涉及到

流程图:上载文件>创建默认值为0的表行>继续在0部分上迭代,如果最后一个是3->4,5,6

我想在第一次图像上传过程后继续向特定项目添加图像

$input['id']:保存项目id值

我确实会这样应用每种方法:

*** code part executed after multiple file upload ***

TABLE STATUS AT FIRST STAGE :
+---------+-------------+-----------+
| id      | project_id  | order_id  |  
+---------+-------------+-----------+
| 1       | 15          | 1         |
+---------+-------------+-----------+
| 2       | 15          | 2         |
+---------+-------------+-----------+
| 3       | 16          | 1         |  --> Added in the past
+---------+-------------+-----------+
| 4       | 16          | 0         |  --> Created on first stage** : default 0.
+---------+-------------+-----------+ 
| 5       | 16          | 0         |  --> Created on first stage** : default 0.
+---------+-------------+-----------+


*** code continues ***

$start = Images::select('order_id')->where('project_id', '=', $input['id'])
->orderBy('order_id', 'DESC')->first();  

Images::where('project_id', '=', $input['id'])->where('order_id', '=', 0)->get()
       ->each(function($ord) use (&$start) {
              $ord->order_id = $start++;
              $ord->save();
});
表1执行上述代码后仍在处理中的结果

+---------+-------------+-----------+
| id      | project_id  | order_id  |  
+---------+-------------+-----------+
| 1       | 15          | 1         |
+---------+-------------+-----------+
| 2       | 15          | 2         |
+---------+-------------+-----------+
| 3       | 16          | 1         |  --> Added in the past
+---------+-------------+-----------+
| 4       | 16          | 0         |  --> New / Present Action : 1st file 
+---------+-------------+-----------+ 
| 5       | 16          | 0         |  --> New / Present Action : 2nd one
+---------+-------------+-----------+
期望:


有什么问题吗?错误的逻辑或每种逻辑?我不知道,但我用foreach试过了,结果还是一样。任何帮助都将不胜感激。谢谢

递增时尝试访问id属性

Images::where('project_id', '=', $input['id'])->where('order_id', '=', 0)->get()
       ->each(function($ord) use (&$start) {
              $ord->order_id = $start->id++;
              $ord->save();
});
返回图像的对象


$start->order\u id应该包含您的id号

Hi@Artur Smolen,谢谢您的重点。现在它起作用了:D.我的错:/:D感谢@adis的详细答案。我愚蠢的错误:没有问题。祝你好运:
Images::where('project_id', '=', $input['id'])->where('order_id', '=', 0)->get()
       ->each(function($ord) use (&$start) {
              $ord->order_id = $start->id++;
              $ord->save();
});
$start = Images::select('order_id')->where('project_id', '=', $input['id'])
->orderBy('order_id', 'DESC')->first();