我的問題是關於Laravel db查詢。通常每個oop用戶都在私有屬性的父類中定義他/她的公共變量,並且由於其他子類的原因使用它 - 重用性......現在我的問題是當我爲私有數據庫查詢定義一個變量時關鍵,我寫了一個getter方法(就像普通人),因爲我不想改變原始的普通查詢部分,但它總是通過引用調用。Laravel DB查詢使查詢模板(按值調用)
例(父類):
$this->userConfirmedPackageData = DB::table('payments')
->join('users', 'users.id', '=', 'payments.user_id')->
*.....continue with more join*
->join('subjects', 'subjects.id', '=', 'classroom_subject.subject_id')
->where(['payments.confirmed' => 1, 'payments.user_id' => $this->currentUser->getUserId()]);
界定查詢的共同部分,我想用它像模板我的所有其他子類的查詢,但如果我用它在同一個班級像下面後(Child Class):
$firstQuery = $this->getUserConfirmedPackageData()->join("aTable")->where("something.id",3)->get(["something.id"]);
$secondQuery = $this->getUserConfirmedPackageData()->join("bTable")->where("somethingDifferentTable.user_id",1111)->take(5)->get(["somethingDifferentTable.name"]);
第一個get方法後,我的寶貴的私有變量(卡住)!
我知道數據庫表不能完成,直到我說「得到」,但有沒有什麼辦法使用查詢這樣的共同部分?我寫了所有的代碼來解釋,他們可能有語法錯誤,但它不是關於邏輯的代碼。謝謝...