我正在將 Laravel 與 Sweetalert 一起使用,并嘗試顯示一個自定義彈出訊息,該訊息顯示 Laravel 變數的值:
$(document).on('click', '#custombtn', function(e) {
e.preventDefault();
let form = $(this).parents('form');
swal(
{
title: "Alert!",
text: "Youre wallet balance is: {!! digits2persian(json_decode($user_wallet->balance)) !!}",
type: "warning",
allowEscapeKey: false,
allowOutsideClick: false,
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes",
cancelButtonText: "No",
showLoaderOnConfirm: true,
closeOnConfirm: false
}).then((isConfirm) => {
if (isConfirm.value === true) {
window.location.href = {!! json_encode(route('courseRegistrationWithWallet', ['course'=>$item->cor_id,'wallet'=>$user_wallet->id ?? ''])) !!}
}
return false;
});
});
但現在的問題是,當$user_wallet->balance回傳null 時,會發生此錯誤:
試圖獲得非物件的屬性“平衡”
所以我試過這個來顯示空結果,如果變數沒有設定:
{!! digits2persian(json_decode($user_wallet->balance)) ?? '' !!}
但是沒有解決這個問題,錯誤仍然出現!
那么如何解決這個問題呢?
uj5u.com熱心網友回復:
仔細閱讀錯誤資訊:
試圖獲得非物件的屬性“平衡”
不是空的余額,而是包含余額的東西。所以你需要處理$user_wallet為空,例如:
isset($user_wallet) ? digits2persian(json_decode($user_wallet->balance)) : 'No wallet'
uj5u.com熱心網友回復:
嘗試這個 if($user_wallet->balance > 0){}
或這個 $user_wallet->balance ?? "0"
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/335281.html
標籤:php 拉拉维尔 laravel-5.8
