Почему мой запрос заполняет 2 поля? Я делаю один запрос

#php #laravel

#php #laravel

Вопрос:

 public function SalesSave(Request $req) {
    $rules = [
        'date' => 'required|min:4|max:36',
        'earnings' => 'min:1|max:16',
    ];
    $validator = Validator::make($req->all(), $rules);
    if($validator->fails()){
        return response()->json($validator->errors(), 400);
    }
    SalesModel::create($req->all());
    $us = Auth::id();
    DB::table('sales')->insertGetId(['date' => $req->query('date'), 'id' => $us, 'earnings' => $req->query('earnings')]);
    return redirect('/sale');
}
 

и 2 поля в БД
введите описание изображения здесь

Мне нужны эти данные в одном поле, как это исправить?

Комментарии:

1. Пожалуйста, добавьте больше контекста к вашему вопросу. Просто публикация кода без контекста действительно затрудняет помощь вам.

Ответ №1:

в вашем запросе вы используете неправильный метод для получения значений.
Вместо $req->query('date') put $req->input('date') сделайте то же самое для earnings

Ответ №2:

Вы вставляете его дважды:

1-й:

 SalesModel::create($req->all());
 

2-й:

 DB::table('sales')->insertGetId(['date' => $req->query('date'), 'id' => $us, 'earnings' => $req->query('earnings')]);
 

Ответ №3:

Ваш код должен быть примерно таким :

 public function SalesSave(Request $req) {
    $rules = [
        'date' => 'required|min:4|max:36',
        'earnings' => 'min:1|max:16',
    ];
    $validator = Validator::make($req->all(), $rules);
    if($validator->fails()){
        return response()->json($validator->errors(), 400);
    }
    $us = Auth::id();
    SalesModel::create([
        'date' => $req->date, 
        'id' => $us, 
        'earnings' => $req->earnings
    ]);
    
    return redirect('/sale');
}
 

Ответ №4:

попробуйте это…

 public function SalesSave(Request $req) {
$rules = [
    'date' => 'required|min:4|max:36',
    'earnings' => 'min:1|max:16',
];

$validator = Validator::make($req->all(), $rules);
if($validator->fails()){
    return response()->json($validator->errors(), 400);
}
$inputs['id']=Auth::id();
$inputs['date']=$req->date;
$inputs['earnings'] =$req->earnings;
SalesModel::create($inputs);
return redirect('/sale');
 

}