Как работает DB :: connection ('odb c') -> table () с областью действия в laravel? - PullRequest
0 голосов
/ 03 мая 2020

Я подключаюсь через базу данных через odb c, она работает правильно, но мне приходится работать с несколькими критериями поиска, и я вижу необходимость сделать это через область действия.

Я могу делать запросы, используя в контроллере:

$busqueda_db= DB::connection('odbc')->table('tbl_taller')->select('cod_empresa','nombre_empresa','numero_orden','anio','fecha_liquidacion' , 'estado')->where('cod_empresa',1)->where('estado','activo')->get();

Моя идея состоит в том, чтобы вызывать функции, которые есть в модели, как-то так:

public function scopeEmpresa(){
    return $this->where('codigo_empresa',2)->get();
}
public function scopeStatus(){ 
    return $this->where('estado','activo')->get(); 
}

Я ценю вашу ценную помощь, но до сих пор не могу найти способ сделать это.

1 Ответ

0 голосов
/ 03 мая 2020

Mrhn, спасибо, это именно то, что я искал, но теперь у меня есть проблема, мне нужно отправить с контроллера переменную в область, которая есть в модели, я попробовал это так, но это не работает.

$cod_empresa = $request->get('codigo_empresa');

Taller::empresa($cod_empresa)
->select('cod_empresa','nombre_empresa','numero_orden','anio','fecha_liquidacion' , 'estado')->get();

В модели:

public function scopeEmpresa($codigo_empresa){
      return $this->where('cod_empresa',$codigo_empresa);
}

Как мне это сделать, я ценю вашу помощь.

...