public function changeData(Request $request)
{
$product = Product::where('_id', '=', $request->product['_id'])->first()->toArray();
//result product :
// array(4) {
// ["_id"]=>
// string(24) "5fffc00df116005c724859f2"
// ["name"]=>
// string(6) "iphone"
// ["slug"]=>
// string(14) "product-iphone"
// ["status"]=>
// string(14) "1"
// }
// result $request->product :
// array(4) {
// ["_id"]=>
// string(24) "5fffc00df116005c724859f2"
// ["name"]=>
// string(7) "samsung"
// ["slug"]=>
// string(15) "product-samsung"
// ["status"]=>
// string(14) "1"
// }
$diff = array_diff($request->product, $product);
var_dump($diff);
}
錯誤: '陣列到字串的轉換'
如果我使用:
$diff = array_diff(array_map('serialize',$request->product), array_map('serialize',$product));
然后它將回傳以下結果:
array(2) {
["name"]=>
string(15) "s:6:"samsung";"
["slug"]=>
string(25) "s:15:"product-samsung";"
}
上面的結果對我所需要的來說是正確的。但它顯示"s:6:并"s:15:在結果中。有沒有辦法讓這兩個不出現。我只想得到正確的結果,例如nameis samsung。謝謝你。
uj5u.com熱心網友回復:
如果要檢查哪些欄位被更新,可以使用isDirsty方法。例如,你要檢查用戶是否更改了電子郵件,發送電子郵件驗證:
if ($user->isDirty('email'))
{
// Do something
}
Laravel 檔案
uj5u.com熱心網友回復:
試試這個
$diff = array_diff(array_map('serialize', $request->product), array_map('serialize', $product));
$multidimensional_diff = array_map('unserialize', $diff);
print_r($multidimensional_diff);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/394699.html
上一篇:如何使用$stmt=$connect->prepare為當前會話用戶插入值
下一篇:如何將切片應用于后端生成的資料?
