Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 Laravel 5 ORM更新请求,如日期添加_Php_Laravel 4_Orm_Laravel 5 - Fatal编程技术网

Php Laravel 5 ORM更新请求,如日期添加

Php Laravel 5 ORM更新请求,如日期添加,php,laravel-4,orm,laravel-5,Php,Laravel 4,Orm,Laravel 5,请原谅我英语不好。 所以,我有一个Laravel5ORM,我需要发出一个请求,将日期添加到一些行中,比如MySQL date\u add输入是单个日期间隔和id数组,输出是数据库的行,通过添加日期间隔进行更改。理想情况下,它应该是一个ORM请求。我知道可以使用“坏”的方式获取所有行,在代码中进行更新,然后插入到数据库中,但我知道这并不好。 我希望答案将是一些帮助网站或一些代码的链接,如果它不复杂你们。谢谢你的关注 public function update($id) { $us

请原谅我英语不好。 所以,我有一个Laravel5ORM,我需要发出一个请求,将日期添加到一些行中,比如MySQL date\u add输入单个日期间隔id数组输出是数据库的行,通过添加日期间隔进行更改。理想情况下,它应该是一个ORM请求。我知道可以使用“坏”的方式获取所有行,在代码中进行更新,然后插入到数据库中,但我知道这并不好。 我希望答案将是一些帮助网站或一些代码的链接,如果它不复杂你们。谢谢你的关注

    public function update($id)
{
    $user_id = Auth::user()->id;
    $rep_task = RepTask::find($id);
    $cl_task = \Request::has('json') ? json_decode(\Request::input('json'),true) : \Request::all();
    $ids = [];
    $task_id = $rep_task->task_id;
    $rep_tasks = RepTask::where('task_id', '=', $task_id)
        ->select('id')
        ->get();

    $new_date = date_create_from_format(self::DATE_FULLCALENDAR_FORMAT, $cl_task['new_date']);
    $selected_task_date = date_create_from_format(self::DATE_MYSQL_FORMAT, $rep_task->start_date);
    $diff = date_diff($selected_task_date, $new_date);


    if(\Request::has('json'))
    {
        $ids = [1,2,3]; //this for easy understanding

        DB::table('rep_task')
            ->whereIn('id', $ids)
            ->update(['start_date' => DB::raw('DATE_ADD(start_date, INTERVAL ' . $diff->d . '  DAY)')]);

        $out_json = ['updated' => $ids];

        return json_encode($out_json, JSON_UNESCAPED_UNICODE);
    }
    else
    {
        $start_date = 0;
        $end_date = 0;
        if (!isset($cl_task['name']) || !isset($cl_task['text']))
            return "{'error':'columns are not defined'}";
        if (isset($cl_task['start_date']) && isset($cl_task['end_date']))
        {
            $dt = date_create_from_format(self::DATE_FULLCALENDAR_FORMAT, $cl_task['start_date']);
            $start_date = $dt->format(self::DATE_MYSQL_FORMAT);
            $dt = date_create_from_format(self::DATE_FULLCALENDAR_FORMAT,$cl_task['end_date']);
            $end_date = $dt->format(self::DATE_MYSQL_FORMAT);
        }
        $rep_task->name = $cl_task['name'];
        $rep_task->text = $cl_task['text'];
        $rep_task->start_date = $start_date;
        $rep_task->end_date = $end_date;
        $rep_task->users_id = $user_id;
        $rep_task->save();
    }
    $user_id = Auth::user()->id;
    $tasks = Task::getAllTasksByUserFullcalendar($user_id);

    return view(
        'task.index',
        [
            'tasks' => $tasks
        ]
    );
}

你能展示一些你尝试过的代码吗?看看修改过的帖子,在if(\Request::has('json'))之后,有一个DB:raw的请求,可以使用ORM来修改它吗?