簡體   English   中英

compact():未定義變量:Laravel 8 中的 object

[英]compact(): Undefined variable: object in Laravel 8

我現在正在將我的 Laravel 應用程序從 5.8 升級到 8。

問題:Laravel 8 應用程序所需的 PHP 7.4(和 7.3)不接受“compact()”中不存在的變量。 修改我的代碼邏輯需要幾個小時。

在我看來,問題出在 PHP 開發團隊的設計理念上。 他們忽略了這樣一個事實,即由我們這樣的人構建的 php 應用程序處理視圖或 controller 邏輯中不存在的變量。 因此,它們將code cleanliness強加於用戶控制之上。

我的問題:

有沒有解決辦法,比如

  • lcompact解決方法。
  • 添加$variable = null; 在我的 controller 方法中。
  • 或者像這里一樣破解框架代碼https://stackoverflow.com/a/59692651/4209866 (答案在 Laravel 8 中不起作用,因為addWhereExistsQuery沒有operator參數。)

謝謝你。

此代碼適用於 laravel 8:

public function check_out() {
    $pesanan = Pesanan::where('user_id', Auth::user()->id)->where('status',0)->first();
    $pesanan_details = [];
    if(!empty($pesanan)) {
        $pesanan_details = PesananDetail::where('pesanan_id', $pesanan->id)->get();
    }

    return view('pesan.check_out', compact('pesanan', 'pesanan_details'));
}

add $pesanan_details = [];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM