Отношения запросов Laravel с другим соединением не работаютPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Отношения запросов Laravel с другим соединением не работают

Сообщение Anonymous »

Я использую Laravel 11, базу данных Oracle для своего проекта. У меня есть несколько моделей:

Код: Выделить всё

class Order extends Eloquent
{
use HasFactory;

protected $connection = 'db_order';
protected $table = 'orders';

public function event()
{
return $this->belongsTo(Event::class, 'event_id', 'id');
}
}

Код: Выделить всё

class Event extends Eloquent
{
use HasFactory;

protected $connection = 'db_event';
protected $table = 'events';

public function orders()
{
return $this->hasMany(Order::class);
}
}
Я хочу запросить порядок списка с поиском по названию события. Это мой запрос:

Код: Выделить всё

$query = Order::with('event');

if (isset($request->name_search)) {
$searchText = "'%".trim($request->name_search)."%'";

$query->where('id', 'like', $searchText)
->orWhere('transaction_id', 'like', $searchText)
->orWhere('user_id', 'like', $searchText)
->orWhere('customer_name', 'like', $searchText)
->orWhereHas('event', function($q) use ($searchText) {
$q->where('name', 'like', $searchText);
});
}
}

$orders = $query->orderBy('orders.id', 'DESC')->paginate(20);
Но я получил ошибку:
Код ошибки: 942 Сообщение об ошибке: ORA-00942: таблица или представление не существует. Позиция: 166. Оператор: выберите count(*) как агрегат из "ORDERS", где "ID", например:p0, или "TRANSACTION_ID", например:p1, или "USER_ID", например:p2, или "CUSTOMER_NAME", например:p3, или существует (выберите * из "EVENTS"). где "ORDERS"."EVENT_ID" = "EVENTS"."ID" и "NAME", например :p4) Привязки: ['%abc%','%abc%','%abc%','%abc%' ,'%abc%']

Код: Выделить всё

SELECT
count(*) AS aggregate
FROM
"ORDERS"
WHERE
"ID" LIKE '%abc%'
OR "TRANSACTION_ID" LIKE '%abc%'
OR "USER_ID" LIKE '%abc%'
OR "CUSTOMER_NAME" LIKE '%abc%'
OR EXISTS (
SELECT
*
FROM
"EVENTS"
WHERE
"ORDERS"."EVENT_ID" = "EVENTS"."ID"
AND "NAME" LIKE '%abc%'
)
Как это можно исправить?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»