第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

laravel返回數(shù)組到字符串轉(zhuǎn)換錯誤

laravel返回數(shù)組到字符串轉(zhuǎn)換錯誤

PHP
ibeautiful 2023-07-21 18:29:01
我的控制器中有 store 方法,它返回以下錯誤:錯誤安慰Preview tabexception: "ErrorException"file: "C:\........\vendor\laravel\framework\src\Illuminate\Support\Str.php"line: 419message: "Array to string conversion"安慰Response tab   {        "file": "C:\\........\\app\\Http\\Controllers\\Api\\Front\\CartController.php",        "line": 380,        "function": "save",        "class": "Illuminate\\Database\\Eloquent\\Model",        "type": "->"    },代碼public function checkout(Request $request){    $user = auth('api')->user();    $cartItems = CartStorage::where('user_id', $user->id)->get();    $address = AddressUser::where('id', $request->input('address'))->first();    foreach($cartItems as $item) {        $cartData = $item->cart_data;        // add to orders table        try {            $order = new Order();            $order->ordernu = 'Si-'.mt_rand(1000000000, 9999999999);            $order->user_id = $user->id;            $order->order_data = $cartData;            $order->quantity = $cartData['quantity'];            $order->price = $request->input('totalPrice');            $order->courier = $request->input('courier');            $order->courier_service = $request->input('courierService');            $order->shippingcode = $request->input('shippingcode');            $order->shipping_price = $request->input('shippingPrice');            $order->address = $address->address;            $order->kecamatan = $address->kecamatan;            $order->kelurahan = $address->kelurahan;            $order->kota = $address->kota;            $order->provinsi = $address->provinsi;            $order->postalcode = $address->postalcode;            $order->weight = $request->input('weight');            $order->phone = $request->input('phone');            $order->buyer_name = $user->name;            $order->buyer_email = $user->email;            $order->note = $request->input('note');            $order->received = false;            $order->save();        }    }}注意:我已經(jīng)測試了dd放入order列中的每一個數(shù)據(jù),并且所有數(shù)據(jù)都獲得了真實值。任何想法?
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

我認為問題就在這里:

$order->order_data = $cartData;

$cartData是一個數(shù)組,不能直接存入數(shù)據(jù)庫。

這就是為什么出現(xiàn)數(shù)組到字符串轉(zhuǎn)換錯誤的原因。


查看完整回答
反對 回復 2023-07-21
?
忽然笑

TA貢獻1806條經(jīng)驗 獲得超5個贊

我正在尋找相同的解決方案,這對我有用。假設order_dataOrder 模型上的列的類型為 json。Order將模型中的強制轉(zhuǎn)換屬性定義order_data為數(shù)組。如果您以這種方式使用它,則不需要 json_encode,因為 laravel 會為您將數(shù)組轉(zhuǎn)換為 json。


class Order extends Model

{

    protected $casts = [

        'order_data' => 'array'

    ];

}


查看完整回答
反對 回復 2023-07-21
?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

這是因為您嘗試將數(shù)組作為字符串存儲到數(shù)據(jù)庫中,要將數(shù)組存儲到數(shù)據(jù)庫中,您可以:

  1. $data_to_store=json_encode($array)然后當回調(diào)時$array=json_decode($db_data)

  2. $data_to_store=serialize($array)然后當回調(diào)時$array=unserialize($db_data)

  3. $data_to_store= implode('!!', $array)然后當回調(diào)時$array = explode('!!', $db_data)

查看完整回答
反對 回復 2023-07-21
  • 3 回答
  • 0 關注
  • 223 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號