Как выбрать общую дату из трех таблиц в laravel? - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть эти три таблицы в моей базе данных, и я хочу выбрать общую дату из трех таблиц для расчета прибыли каждого дня, прибыли каждого месяца и прибыли каждого года

это мои таблицы :

Schema::create('expenses', function (Blueprint $table) {
    $table->bigIncrements('id');            
    $table->string('name');
    $table->float('amount');
    $table->string('month');
    $table->string('year');
    $table->string('date');
});

Schema::create('service_orders', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->bigInteger('client_id')->unsigned();
    $table->double('total_price', 8, 2)->nullable();
    $table->string('month');
    $table->string('year');
    $table->date('date');
    $table
        ->foreign('client_id')
        ->references('id')
        ->on('clients')
        ->onDelete('cascade');
});
Schema::create('orders', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->bigInteger('client_id')->unsigned();
    $table->double('total_price', 8, 2)->nullable();
    $table->string('month');
    $table->string('year');
    $table->date('date');
    $table
        ->foreign('client_id')
        ->references('id')
        ->on('clients')
        ->onDelete('cascade');
});

1 Ответ

0 голосов
/ 03 февраля 2020

Я думаю, что ваша проблема может быть решена с помощью UNIONS

UNION, который используется для объединения результатов двух или более таблиц

  SELECT date FROM expenses
  UNION ALL
  SELECT date FROM service_orders
  UNION ALL
  SELECT date FROM orders

Чтобы использовать его в Laravel, вы можете проверить документацию ниже :

https://laravel.com/docs/5.8/queries#unions

...