Как извлечь данные из базы данных с 3 параметрами Laravel

Как извлечь данные из базы данных с 3 параметрами Laravel

15.10.2019 09:23:30 Просмотров 37 Источник

Я все еще новичок в этом laravel, потому что теперь я столкнулся с проблемой для извлечения данных из базы данных. То, что я хочу получить, - это когда доступны только одни данные, вторые параметры не будут выполняться, но если есть некоторые данные, доступные для вторых параметров, то будут вызваны все данные из первого параметра и второго параметра.

    $detail = Barang_Keluar_Detail::findOrFail($id); //15
    $cariid = $detail->pluck('barang_keluar_id');
    $instansiquery = Barang_Keluar::where('id',$cariid)->first(); //21
    $instansiid = $instansiquery->pluck('instansi_id');
    $tanggal = $instansiquery->pluck('tanggal')->first();//2019-12-31

и параметры здесь

    $cariinstasama = Barang_Keluar::where('id', $cariid)
        ->orWhere(function ($query) use($instansiid, $tanggal) {
            $query->where('tanggal', "'$tanggal'")
            ->where('instansi_id', $instansiid);
        });

Пожалуйста, любая помощь будет оценена, спасибо.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/58388384/how-to-fetch-data-from-database-with-3-parameters-laravel#comment104899228_58388384
Ваш вопрос не ясен на самом деле, иначе вы бы определенно получили ответ

Ответы - Как извлечь данные из базы данных с 3 параметрами Laravel / How to fetch data from database with 3 parameters Laravel

Prashant Deshmukh.....

17.12.2019 02:53:33

Вы можете попробовать и это.

$cariinstasama = Barang_Keluar::where('id', $cariid);

if($instansiid !== null)
{
   $cariinstasama->where('instansi_id', $instansiid); 
}

if($tanggal !== null) 
{
   $cariinstasama->where('instansi_id', $instansiid);
}

$result = $cariinstasama->get();
R.K.Saini

17.12.2019 09:17:11

Laravel query builder предоставляет элегантный способ поставить условное предложение с помощью when(). Вы можете поместить условное предложение в свой запрос следующим образом:

$cariinstasama = Barang_Keluar::where('id', $cariid)
    ->when($instansiid, function ($query, $instansiid) {
        return $query->where('instansi_id', $instansiid);
    })
    ->when($tanggal, function ($query, $tanggal) {
        return $query->where('tanggal', $tanggal);
    })->get();

Для получения дополнительной информации см. https://laravel.com/docs/5.8/queries#conditional-clauses

Закрыть X