Код: Выделить всё
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