Laravelデータテーブルの「非オブジェクトのプロパティ 'name'を取得しようとしています」エラーを解決するにはどうすればよいですか?

ビラル・アーシャッド

ここではlaravelでデータテーブルを使用しています。リレーションシップIDが存在しない場合があるため、リレーションシップを使用してデータをフェッチしようとしているため、laravelブレードでnull値が返されます。nullかどうかを確認することで処理できます。しかし、データテーブルでは使用できません。

returning values to data table

return [

                    'delivery_run_id' =>  $run_sheet->delivery_runs->name: 

 ];

returnステートメントの前に置くとうまくいきますが、アプローチは良くないと思います

 if(empty($run_sheet->delivery_runs->name))
             {
                $delivery_run = '';
             }
             else
             {
              $delivery_run =  $run_sheet->delivery_runs->name;
             }

データテーブル列のデフォルト値を設定しようとしましたが、機能しません

 var table = $(tablename).DataTable({
        responsive: true,
        "order": [],
        'aoColumnDefs': [{
            'bSortable': false,
            'aTargets': ['nosort']
        }],
        buttons: [
            'print',
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5',
        ],
        processing: true,
        serverSide: true,
        ajax: {
            url: url,
            type: 'get',
            data: filters
        },

        columns: columns,


        "language": {
            processing: "<img src='https://thumbs.gfycat.com/WatchfulSnarlingBettong-max-1mb.gif'>"
        },
        "columnDefs": [
            {
              "data": null,
              "defaultContent": "<button>Edit</button>",
              "targets": -1
            }
          ]
    });

ディリップヒラパラ

三項演算子使用して、設定されているかどうかを確認します。

$delivery_run = $run_sheet->delivery_runs->name ?? "";
return [
    'delivery_run_id' =>  $run_sheet->delivery_runs->name ?? ""; 
];

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ