Запрос к базе данных Laravel создает шаблон запроса (вызов по значению)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Запрос к базе данных Laravel создает шаблон запроса (вызов по значению)

Сообщение Anonymous »

Моя проблема связана с запросом к базе данных Laravel. Обычно каждый пользователь ОП определяет свою общую переменную в родительском классе с частным свойством и использует ее из другого дочернего класса из-за причин ОП - возможности повторного использования... И теперь моя проблема в том, что когда я определяю переменную для запроса к БД с закрытым ключом, я пишу метод получения (как обычный человек), потому что я не хочу менять исходные общие части запроса, но он всегда вызывается по ссылке.

Пример (Родительский класс):

Код: Выделить всё

$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()]);
После определения этой общей части запроса я хочу использовать ее как шаблон для всех остальных запросов дочернего класса, но если я использую ее в том же классе, что и ниже (дочерний класс):

Код: Выделить всё

$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!

Я знаю, что таблица БД не может завершиться, пока я не скажу «получить», но есть ли способ использовать такую ​​общую часть запросов? Я написал весь код для пояснения, в них может быть синтаксическая ошибка, но дело не в коде, а в логике. Спасибо...

Подробнее здесь: https://stackoverflow.com/questions/392 ... l-by-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»