简体   繁体   中英

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '28-01-2022 12:00' for column `fotostudio`.`transaction_details`

I have gotten an error. SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '28-01-2022 12:00' for column fotostudio . transaction_details . datetime at row 1 (SQL: insert into transaction_details ( username , phone , datetime , transactions_id , updated_at , created_at ) values (Candradimuka Production, 085328663110, 28-01-2022 12:00, 11, 2022-01-09 08:13:14, 2022-01-09 08:13:14))

Here's my Model


namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Transaction extends Model
{
 use SoftDeletes;
 
 protected $fillable = [
     'reservations_id', 'reservations_title', 'users_id',
     'transaction_total', 'transaction_status'
 ];

 protected $hidden = [

 ];

 //relasi ke galery dan reservasi
 public function details(){
     return $this->hasMany(TransactionDetail::class, 'transactions_id', 'id');
 }
 public function reservation(){
     return $this->belongsTo(Reservation::class, 'reservations_id', 'id');
 }
 public function user(){
     return $this->belongsTo(User::class, 'users_id', 'id');
 }
 
}```

And here's my Controller

 ```<?php

namespace App\Http\Controllers;

use App\Models\Transaction;
use App\Models\TransactionDetail;
use App\Models\Reservation;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class CheckoutController extends Controller
{
 public function index(request $request, $id)
 {
    $item = Transaction::with(['details', 'reservation', 'user'])->findOrFail($id);
    return view('pages.checkout',[
       'item' => $item
    ]);
 }

 public function process(request $request, $id)
 {
   $reservation = Reservation::findOrFail($id);

   $transaction = Transaction::create([
      'reservations_id' => $id,
      'reservations_title' => $reservation->title,
      'user_id' => Auth::user()->id,
      'transaction_total' => $reservation->price,
      'transaction_status' => 'IN_CART'
   ]);

   return redirect()->route('checkout', $transaction->id);
 }

 public function remove(request $request, $detail_id)
 {
   $item = TransactionDetail::findOrFail($detail_id);
   //dd($item); 
   $transaction = Transaction::with(['details', 'reservation'])
               ->findOrFail($item->transaction_id);
               
   $item->delete();

   return redirect()->route('checkout', $item->transaction_id);
 }

 public function create(request $request, $id)
 {

   $request->validate([
      'username' => 'required|string|exists:users,username',
      'phone' => 'required|string',
      'datetime' => 'required|date'
   ]);

   $data = $request->all();
   $data['transactions_id'] = $id;

   TransactionDetail::create($data);

   $transaction = Transaction::with(['reservation'])->find($id);

   return redirect()->route('checkout', $id);
 }

 public function success(request $request, $id)
 {

    $transaction = Transaction::findOrFail($id);
    $transaction->transaction_status = 'PENDING';

    $transaction->save();
    return view('pages.success');
 }
}```

Please tell me, how to fix this problem?

try this set format before insert data

$data = $request->all();
$data['transactions_id'] = $id;    
$data['datetime'] = date('Y-m-d H:i:s', strtotime($data['datetime']));
TransactionDetail::create($data);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM