Laravel Blade: 文字列とオブジェクトを比較する
P粉797855790
P粉797855790 2023-09-01 21:44:49
0
1
460

Laravel ブレード ファイル内の文字列とオブジェクトを比較するときに、奇妙な問題に遭遇しました。

データベース クエリの結果に応じて文字列 (「N/A」) またはオブジェクトになる変数があり、次の条件チェックがあります。

@if ($a_string_name == 'N/A')

オブジェクトが返された場合、ほとんどのユーザーにとってこの条件は失敗し、else ステートメントの実行が続行されます。

しかし、ある特定のケース (これを再現する方法を説明するのに十分な情報がありません) では、この条件によりエラーがスローされます。

メソッド Illuminate\Support\Collection::__toString() は文字列値を返す必要があります

何が問題なのか、それともこれがlaravel/ブラウザ固有の問題なのかわかりません。

PHP v7.4.22、laravel v6.0

P粉797855790
P粉797855790

全員に返信 (1)
P粉407936281

上記の質問に基づいて、変数に特定の値が設定されているかどうかを確認したいと思います。あなたの場合、@if(isset($a_string_name))を使用してみてください。

通常、変数をチェックするために 2 つの PHP メソッドを使用します。

PHP で変数が定義されているかどうかを確認するにはどうすればよいですか? isset() 関数は、変数が設定されているかどうかをチェックします。つまり、変数は NULL ではなく宣言されている必要があります。この関数は、変数が存在し、NULL でない場合は true を返し、それ以外の場合は false を返します。

指定された変数が空かどうかを確認するにはどうすればよいですか? empty() 関数は、変数が空かどうかをチェックします。この関数は、変数が存在し空でない場合は false を返し、それ以外の場合は true を返します。次の値は null と評価されます: 0。

###お役に立てれば。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!