2025_11_06_141206_create_reclamation_views_table.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. use Illuminate\Database\Migrations\Migration;
  3. use Illuminate\Database\Schema\Blueprint;
  4. use Illuminate\Support\Facades\Schema;
  5. return new class extends Migration
  6. {
  7. /**
  8. * Run the migrations.
  9. */
  10. public function up(): void
  11. {
  12. $sql = "CREATE OR REPLACE VIEW reclamations_view AS
  13. SELECT r.*,
  14. u.name as user_name,
  15. u1.name as brigadier_name,
  16. o.year,
  17. o.name as order_name,
  18. o.object_address,
  19. o.district_name,
  20. o.area_name,
  21. o.object_type_name,
  22. rs.name as status_name
  23. FROM reclamations r
  24. LEFT JOIN users u ON r.user_id = u.id
  25. LEFT JOIN users u1 ON r.brigadier_id = u1.id
  26. LEFT JOIN reclamation_statuses rs ON r.status_id = rs.id
  27. LEFT JOIN orders_view o ON r.order_id = o.id";
  28. DB::unprepared($sql);
  29. }
  30. /**
  31. * Reverse the migrations.
  32. */
  33. public function down(): void
  34. {
  35. DB::unprepared('DROP VIEW IF EXISTS reclamations_view');
  36. }
  37. };