2015-10-21 2 views
2

Я новичок в Laravel и получаю ошибку. Когда я пытаюсь проверить мою страницу, я получаю эту ошибку:Laravel QueryException в строке Connection.php 651: SQLSTATE [42S02]: базовая таблица или представление не найдено

QueryException in Connection.php line 651: SQLSTATE[42S02]: Base table or view not found: 1146 Table "scotchbox.likes" doesn't exist (SQL: select "users".*, "users"."name", "projects"."title" from "likes" inner join "users" on "user_id" = "users"."id" inner join "projects" on "project_id" = "projects"."id")

Это моя миграция:

<?php 

use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

class CreateLikesTable extends Migration 
{ 
    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('likes', function(Blueprint $table){ 
      $table->increments('id'); 
      $table->integer('project_id'); 
      $table->integer('user_id'); 
      $table->softDeletes(); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('likes'); 
    } 
} 

И моя функция:

public function activity() 
{ 
    $likes = DB::table('likes') 
     ->join('users', 'user_id', '=', 'users.id') 
     ->join('projects', 'project_id', '=', 'projects.id') 
     ->select('users.*', 'users.name', 'projects.title') 
     ->get(); 

    return view('user.activity', ['likes' => $likes]); 
} 

Я уже закатились мои миграции, освежили их ... Но это не помогает ...

Может кто-нибудь мне помочь?

ответ

3

Вы должны запустить миграцию в консоли. Он создает таблицу likes в db.

php artisan migrate 

Если вы хотели бы знать о миграции: http://laravel.com/docs/5.1/migrations

+0

Сделал это уже пару раз. Мои миграции обновлены (консоль говорит: ничего мигрировать) –

+0

Пожалуйста, проверьте свой db в phpmyadmin. Действительно создал таблицу? Если нет, пожалуйста, удалите строку «любит» из таблицы миграции и перезапустите php artisan migrate. – kotapeter

+0

У меня было одновременно несколько виртуальных боксов ... Это была проблема –

0

Выполнить миграцию:

php artisan migrate 
+0

Сделал это уже пару раз. Мои миграции обновлены (консоль говорит: ничего мигрировать) –

2

Попробуйте это:

Создание модели с определенным именем таблицы, откройте модель в текстовом редакторе добавьте следующую строку:

protected $table = 'tablename'; 

Так это выглядит следующим образом:

class Gallery extends Model 
{ 
    protected $table = 'tablename'; 
}