【发布时间】:2019-01-13 18:21:23
【问题描述】:
当通知打开时,我有以下消息:
注意:遇到格式不正确的数值
https://i.stack.imgur.com/lcI4P.png
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Product;
use App\Cart;
use App\orders;
use DB;
use Auth;
class CartController extends Controller
{
public function add(){
$id = request('id');
$product = Product::find($id);
$oldCart = session()->has('cart') ? session()->get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product, $product->id);
request()->session()->put('cart', $cart);
return response()->json($cart->totalQty);
}
// public function add22(){
// $id = request('id');
// $product = Product::find($id);
// $oldCart = session()->has('cart2') ? session()->get('cart2') : null;
// $cart = new Cart($oldCart);
// $cart->add($product, $product->id);
// request()->session()->put('cart2', $cart);
// return response()->json($cart->totalQty);
// }
public function add2($id)
{
$product = Product::find($id);
$oldCart = session()->has('cart') ? session()->get('cart') : null;
$cart = new Cart($oldCart);
$cart->add($product, $product->id);
request()->session()->put('cart', $cart);
// dd(session()->get('cart'));
return back();
}
public function index(){
if(session()->has('cart'))
{
$products = session()->get('cart')->items;
}
// elseif(session()->has('cart2'))
// {
// $products = session()->get('cart2')->items;
// }
else
{
$products = 'nothing';
}
$currency = DB::table('currency')->get();
return view('basket', compact('products', 'currency'));
}
public function order(){
if(session()->has('cart'))
{
$products = session()->get('cart')->items;
}
// elseif(session()->has('cart2'))
// {
// $products = session()->get('cart2')->items;
// }
else
{
$products = 'nothing';
}
$currency = DB::table('currency')->get();
return view('order', compact('products', 'currency'));
// return view('order');
}
public function store(Request $request){
$this ->validate(request(), [
'name'=>'required',
'address'=>'required',
'auth'=>'required',
]);
if(Auth::check())
{
$orders = orders::create([
'name' => $request['name'],
'description' => $request['address'],
'auth' => $request['auth'],
]);
}
$cart = session()->get('cart');
$message = "Имя: ".request('name')."\nАдрес:".request('address')."\nЗаказанные товары:";
foreach($cart->items as $product) {
$message .= $product['item']['name']." * ".$product['qty'].", Цена - ".$product['item']['entityprice']*$product['qty']."\n";
}
$message .= "\nИтого: ".$cart->totalPrice." тг\n";
$subject = "Заказ товара";
$headers = 'From: info@hansolomed.kz' . "\r\n" .
'Reply-To: info@hansolome.kz' . "\r\n".
'X-Mailer: PHP/' . phpversion();
mail('015@i-marketing.kz', $subject, $message, $headers);
request()->session()->forget('cart');
}
public function remove($id){
$oldCart = session()->has('cart') ? session()->get('cart') : null;
$cart = new Cart($oldCart);
$cart->removeItem($id);
if(count($cart->items) > 0){
session()->put('cart', $cart);
}else{
session()->forget('cart', $cart);
}
return redirect()->back();
}
public function redis($id){
$oldCart = session()->has('cart') ? session()->get('cart') : null;
$cart = new Cart($oldCart);
$cart->reduceByOne($id);
session()->put('cart', $cart);
return redirect()->back();
}
}
【问题讨论】:
-
我猜
$product包含字符串,而不是整数,因此 PHP 必须将它们转换为整数才能进行数学运算。转换会引发该通知。 -
@user3783243 只有当字符串不是数字时,转换才会引发通知。