【问题标题】:How to retrieve view data in migration to controller?如何在迁移到控制器时检索视图数据?
【发布时间】:2021-07-30 11:35:41
【问题描述】:

我对这些观点完全陌生。我不知道如何在控制器中获取视图。下面给出的是我使用迁移创建的视图。我想将此视图中的数据获取到我的控制器。怎么做?任何帮助表示赞赏。

 class CourseMarketView extends Migration
 {
     public function up()
        {
            DB::statement("
          CREATE VIEW course_market_view AS
          (
            SELECT 
    users.id,
    users.name,
    course.courseId,
    course.courseUniqueName,
    skills.id,
    skills.skill,
    subjects.id,
    subjects.subject
     FROM users 
      LEFT JOIN course ON course.courseId=users.id
      LEFT JOIN skills ON skills.id=users.id
      LEFT JOIN subjects ON subjects.id = users.id

          )
        ");
        }
  }

控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use App\Models\User;
use App\Models\Course;
use App\Models\Skill;
use App\Models\Subject;

class CourseMarketController extends Controller
{
    public function getcoursebysubjectID(){

        $users = User::select("*")
                        ->get()
                        ->toArray();             
        dd($users);    
    }
}

课程表

Schema::create('course', function (Blueprint $table) {
            $table->integer('courseId')->autoIncrement();
            $table->string('courseDisplayName');
            $table->string('courseUniqueName')->unique();
            $table->string('courseAddedBy');
            $table->dateTime('createdOn');
            $table->dateTime('lastUpdated');
            $table->softDeletes();
        });

【问题讨论】:

    标签: php laravel eloquent laravel-8 sql-view


    【解决方案1】:

    您可以通过创建这样的新模型来做到这一点:-

    class CourseMarketView extends Eloquent {
    
        protected $table = 'course_market_view';
    }
    

    在控制器中你可以这样做:-

    CourseMarketView::all();
    

    【讨论】:

    • Actullay 这有一个迁移错误,column c.courseId doesnot exists 。你能告诉我有什么问题吗?我有course 表的id 列,名称为courseId
    • 课程表中有 courseId 列?
    • 是的。 courseId是我在课程表中的id列(PK)的名称。
    • 您可以通过添加课程和使用迁移文件来更新问题正文吗?
    • 我已经用course 表的迁移更新了问题。
    猜你喜欢
    • 2023-03-23
    • 2018-04-25
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多