Помогите, чего данные не записываются в БД?

183
16 ноября 2018, 20:10

есть api. которое обрабатывает запрос и записывает в бд.

public function setbyRoomId(Request $request, $task_id) { $user = Auth::user();

    $leader = $user->getLeader();
    try
    {
        $task = Task::findOrFail($task_id);
    }catch (ModelNotFoundException $e){
        return new JsonResponse([
            'success' => false,
            'message' => 'Bad request, task notfound',
            'payload' => [
            ]
        ], 400);
    }
    $data = json_decode($request->getContent(), TRUE);
     $room = RoomNumber::where('room_number', $task->room_id)
        ->leftJoin('rooms_type', 'room_number.room_id', '=', 'rooms_type.id')
        ->where('rooms_type.leader_id', $leader->id)
        ->first(['room_number.room_id', 'room_number.room_number', 'rooms_type.name', 'rooms_type.description', 'rooms_type.minibar_id']);
    if (!$room){
        return new JsonResponse([
            'success' => false,
            'message' => 'Bad request. Error in room number '.$task->room_id.' in task No '.$task->id ,
            'payload' => [
            ]
        ], 400);
    }
    $minibar = MinibarRoomType::where('minibar_room_type.room_id', $room->room_id)
        ->leftJoin('minibars', 'minibar_room_type.minibar_id', '=', 'minibars.id')
        ->where('minibars.leader_id', $leader->id)
        ->where('deleted_at', null)
        ->first(['minibar_room_type.minibar_id', 'minibars.name', 'minibars.description']);
    $goods = GoodsMinibar::where('minibar_id', $minibar->minibar_id)
        ->leftJoin('goods', 'goods_minibar.goods_id', '=', 'goods.id')
        ->where('goods.leader_id', $leader->id)
        ->get();
    $i=0;
    foreach ($goods as $item){
        foreach ($data['goods'] as $good){
            if (($item['goods_id'] == $good['id'])AND($item['quantity'] != $good['quantity'])) {
                $result[$i]['id']= $item['goods_id'];
                $result[$i]['name']= $item['name'];
                $result[$i]['balance']= $good['quantity'];
                $i++;
            }
        }
    }
    $rrrr = $task->update(['executor_comment'=>$result]);
    return new JsonResponse([
        'success' => true,
        'message' => '',
        'payload' => [
            'result' => $result,
        ]
    ], 200);
}

положительный ответ отправляет но в базу не пишет.

Answer 1

Изминения объекта в Laravel делается по другому (https://laravel.com/docs/5.6/eloquent#updates):

$task->executor_comment = $result;
$task->save();
READ ALSO
Не видит INPUT TYPE FILE

Не видит INPUT TYPE FILE

Дорогие друзья есть самая простая форма

143
header location не перенаправляет

header location не перенаправляет

Подскажите, почему у меня конструкция вида:

140
Mysql запрос выборка за текущий месяц

Mysql запрос выборка за текущий месяц

помогите составить запрос на выборку из таблицы за текущий месяц, дату храню в unixtime

139