Сопоставить массив из столбца БД с другим столбцом таблицы БД в 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']);