Session trong Laravel
Anh chị cho em hỏi là lỗi này thì fix như thế nào ạ ! Em có search rồi nhưng mà xem cái code của em thì không biết sửa chỗ nào nữa.
1 CÂU TRẢ LỜI
@duong.manh.hoang anh nói rõ hơn được ko ạ.
Cái session em đang nói là A hay session A
@TraNguyen Bạn kiểm tra xem session A của bạn hiện tại có phải đang là string không ?
@huusu1996 Session A đó ạ
@TraNguyen em thử dd cho anh biến $array trong hàm push dưới dòng 314 của class Store( vendor/laravel/framework/src/Illuminate/Session/Store.php) xem sao?
@duong.manh.hoang Anh đọc logic đoạn đó thì giá trị của $value hoàn toàn đẩy được vào mảng $array[] khi nó $value là string. Anh cũng thấy doc cho phép param $value để mixed(tức là cho phép truyền vào string mà nhờ )
@huusu1996
https://stackoverflow.com/questions/42227786/laravel-session-operator-not-supported-for-strings
Lười test quá nên e tìm thử thì có thằng nó bảo push
là Push A Value Onto An Array Session Value
. Trước đó bạn ý có put
chuỗi session A
vào session nên là em nghĩ nó gặp lỗi vì hiện tại cái sessionA nó đang có giá trị là string nên không thể dùng push
@duong.manh.hoang Anh đang nghĩ lỗi lại ở cái thằng $array cơ. Gặp TH này anh sẽ check trước xem giá trị của biến $array trả kiểu dữ liệu gì ? có phải array không ? hay nó làstring
? anh đang đoán nó là string
lên không thể push giá trị value vào mảng theo syntax []
@huusu1996 class Store() nằm ở đâu anh. Em thử tìm rồi nhưng vẫn không biết. Em còn ngáo ngơ lắm. Có gì chỉ rõ rõ cho em cái luôn nhá.
@huusu1996 ý e cũng đang là nó là string nên k push đc đó. Ở trên bạn ý gán 1 string vào mà
@TraNguyen vendor/laravel/framework/src/Illuminate/Session/Store.php đường dẫn đây em ạ. Để cho nhanh a nghĩ em nên thay string '"A" thành "G" sẽ không bị trùng key sẽ không lỗi.
$request->session->push('G', 'NewSession Value');
@huusu1996 Em có thử đổi key rồi, vẫn không được ạ. Nhưng mà e hiểu vấn đề rồi ạ. Em cảm ơn ạ!
@TraNguyen goodjob bro