Laravel Модель добавления запроса - PullRequest
0 голосов
/ 25 мая 2018

Я создал модель в laravel для таблицы celebrity и создал два объекта, как показано ниже: -

$obj1 = Celebrity::Select('*');
$obj2 = $obj1;

Теперь я хочу применить другое условие для вышеуказанных объектов, чтобы получить данные изТаблица.Например: -

$obj1= $obj1->where('status', 1);

$obj2 = $obj2->where('status', 2);

Но когда obj2 возвращает оба запроса.т.е. если я печатаю $obj2->toSQL(), это 'Select * from celebrity where stauts =1 and status =2'.Но это должно быть 'Select * from celebrity where status =2'.

Может ли кто-нибудь помочь в этом?И я использую версию 5.5.

Ответы [ 3 ]

0 голосов
/ 25 мая 2018

Попробуйте этот код:

$query1 = Celebrity::query();
$query2 = Celebrity::query();

$query1 = $query1->where('status', 1);
$query2 = $query2->where('status', 2);

$result1 = $query1->get();
$result2 = $query2->get();

Вы можете добавить условие условие в этом коде.

0 голосов
/ 25 мая 2018

Я тестировал с использованием laravel 5.4, и он работает

use App\Models\Customer;

Route::get('/', function()
{
    $d1 = Customer::select('*');
    $d2 = Customer::select('*');

    $d1 = $d1->where('name', 'joseph');
    $d2 = $d2->where('name', 'dicdican');

    dd($d1->toSql(), $d2->toSql());

Результаты:

"select * from `customers` where `name` = ? and `customers`.`deleted_at` is null"

"select * from `customers` where `name` = ? and `customers`.`deleted_at` is null"

Если вы не против разделить весь блок кода?

------ Обновлено

PHP Raw:

$s1 = 'hello';
$s2 = $s1;

$s2 = $s2.' welcome';

dd($s2, $s1);

Ожидаемые результаты:

response

0 голосов
/ 25 мая 2018

Вам не нужно создавать объекты.Вы можете просто сделать это в вашем контроллере:

$a = Celebrity::where(['status' => '1'])->get();
$b = Celebrity::where(['status' => '2'])->get();   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...