Я пытаюсь применить условие для объединенной таблицы, но получаю эту ошибку:
SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица 'cts.plant'не существует (SQL: выберите * из tbl_complaint
, где существует (выберите * из tbl_plant
, где tbl_complaint
. made_in_plant
= tbl_plant
. plant_id
и sap_code
= 99999), упорядочите по created
desc limit 50 offset 0)
Мои классы моделей выглядят примерно так:
Основная модель
class Complaint extends Model {
protected $connection= 'first';
protected $table = 'complaint';
protected $primaryKey = 'complaint_id';
public function customerPlant() {
return $this->hasOne(Plant::class, 'plant_id', 'customer_plant_id')
->select('plant_id', 'sap_code', 'plant_name');
}
}
Подключенная модель
class Plant extends Model {
protected $connection= 'second';
protected $table = 'plant';
protected $primaryKey = 'plant_id';
public function getKeyName() {
return 'plant_id';
}
}
Поиск данных:
$query = Complaint::with([
'madeInPlantId']
$query = Complaint::whereHas('madeInPlant', function($query){
$query->where('sap_code','=','99999');
});
$query->get();
Я думаю, что проблема в том, что я не указываю, что связанная таблица находится в другой базе данных.