我的问题是关于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方法后,我的宝贵的私有变量(卡住)!
我知道数据库表不能完成,直到我说“得到”,但有没有什么办法使用查询这样的共同部分?我写了所有的代码来解释,他们可能有语法错误,但它不是关于逻辑的代码。谢谢...