SQLSTATE [01000]: avertissement: 1265 données tronquées pour la colonne 'pay_totals' à la ligne 1
public function order(Request $req){
$order = new Order;
$order->pay_number = $req->checkout_number;
$order->pay_totals = $req->checkout_total;
$order->save();
return redirect(route('pay'))->with('message','Sending infomation successfully');
}
lame:
<input type="text" name="checkout_total" value="{{Cart::subTotal('0') }} ">
Helppp
Le problème est que la colonne pay_totals
Ne peut pas stocker tout ce que vous obtenez de l'entrée car elle est trop grande.
Solutions possibles
SQL:ALTER TABLE [orders] ALTER COLUMN [pay_totals] VARCHAR(MAX)
MYSQL:ALTER TABLE [orders] MODIFY COLUMN [pay_totals] VARCHAR(60000)
La même erreur peut se produire en raison incompatibilité du type de données. Par exemple, si vous affectez une chaîne à flotter, vous obtiendrez cette erreur. assurez-vous donc de vérifier si les données sont de type correct. J'ai eu cette erreur sur symfony.
Parfois, cette erreur s'est produite en raison de l'insertion de données dans des colonnes supplémentaires telles que ('created_at','updated_At')
dans le tableau croisé dynamique. La solution ci-dessous fonctionne pour moi.
Code d'erreur
$users=User::create($input['data']);
foreach ($input['products'] as $product) {
if (array_key_exists('special_price', $product)) {
$userProducts[$product['id']] = ['special_price' => $product['special_price']];
} else {
$userProducts[$product['id']] = ['special_price' => ''];
}
$userProducts['created_at'] = Carbon::now()->toDateTimeString();
$userProducts['updated_at'] = Carbon::now()->toDateTimeString();
}
//individual product with special price of each product
/*
Output before code correction
array (1 =>
array(
'special_price' => '',
),
'created_at' => '2019-04-07 14:28:27',
'updated_at' => '2019-04-07 14:28:27',))
*/
$users->products()->sync($userProducts);
Correction de code
$users=User::create($input['data']);
foreach ($input['products'] as $product) {
if (array_key_exists('special_price', $product)) {
$userProducts[$product['id']] = ['special_price' => $product['special_price']];
} else {
$userProducts[$product['id']] = ['special_price' => ''];
}
// below lines are after code correction
$userProducts[$product['id']]['created_at'] = Carbon::now()->toDateTimeString();
$userProducts[$product['id']]['updated_at'] = Carbon::now()->toDateTimeString();
}
//individual product with special price of each product
/*
Output after code correction
array (1 =>
array(
'special_price' => '',
'created_at' => '2019-04-07 14:28:27',
'updated_at' => '2019-04-07 14:28:27',
),)
*/
$users->products()->sync($userProducts);