Php Laravel 5 ORM更新请求,如日期添加
请原谅我英语不好。 所以,我有一个Laravel5ORM,我需要发出一个请求,将日期添加到一些行中,比如MySQL date\u add输入是单个日期间隔和id数组,输出是数据库的行,通过添加日期间隔进行更改。理想情况下,它应该是一个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
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来修改它吗?