Сопоставить массив из столбца БД с другим столбцом таблицы БД в laravel

Я получаю данные через таблицу 2 в виде массива (например, адреса), и одна из них, чтобы найти конкретный пин-код в другой таблице, это модель 2, которую я использую, чтобы найти и сопоставить результат и выполнить налоговую функцию, например. если одна таблица имеет массив ab, c, d, вторая таблица имеет значение, чтобы найти в нем хранилище значений, например. если a = 1, если b=2, вот моя идея кода, которую я пытаюсь реализовать, но безуспешно

 try{    $toltax = toltax::wheresource('LIKE','%'.$s_address.'%')->get();
                 $tsource = $toltax->source;
                 $tdestination = $toltax->destination;
                 if(!empty($toltax = toltax::where($s_address, 'LIKE' ,"%$tsource%")->where($d_address,'LIKE',"%$tdestination%")->get('tax')
                 ))
                 {
                     Log::info("toll tax".$toltax->tax);
                     $Tax = $Tax + $toltax->tax;
                 }}catch(ModelNotFoundException $e) {return false;}

1 ответ

Попробуй это я надеюсь помочь тебе

$tax = DB::table('toltax as latest')
        ->whereSource('LIKE','%'.$s_address.'%')
        ->whereNotExists(function ($query) {
            $query->select(DB::raw(1))
                   ->from('toltax')
                   ->whereRaw('source LIKE latest.source')
                   ->whereRaw('destination LIKE latest.destination');
        })
    ->get(['tax']);
Другие вопросы по тегам