【问题标题】:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'app.articles' doesn't exist (SQL: select * from `articles`)SQLSTATE [42S02]:未找到基表或视图:1146 表“app.articles”不存在(SQL:从“文章”中选择 *)
【发布时间】:2019-07-30 22:52:58
【问题描述】:

我试图将我的数据库创建到 laravel 应用程序,但收到此错误。 我正在关注这个here 教程。

我无法访问我的文章数据库,但我可以从 User.php 预定义模型访问任何内容。

路由.php

use App\article;
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('article', function () {
    echo article::all();
});

article.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class article extends Model
{

}

in Connection.php line 673
at Connection->runQueryCallback('select * from `articles`', array(), object(Closure)) in Connection.php line 629
at Connection->run('select * from `articles`', array(), object(Closure)) in Connection.php line 342
at Connection->select('select * from `articles`', array(), true) in Builder.php line 1508
at Builder->runSelect() in Builder.php line 1494
at Builder->get(array('*')) in Builder.php line 596
at Builder->getModels(array('*')) in Builder.php line 303
at Builder->get(array('*')) in compiled.php line 10366
at Model::all() in routes.php line 20
at RouteServiceProvider->{closure}()
at call_user_func_array(object(Closure), array()) in compiled.php line 8415
at Route->runCallable(object(Request)) in compiled.php line 8405
at Route->run(object(Request)) in compiled.php line 8121
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3176
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13274
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 11822
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13009
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 12946
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 8122
at Router->runRouteWithinStack(object(Route), object(Request)) in compiled.php line 8113
at Router->dispatchToRoute(object(Request)) in compiled.php line 8103
at Router->dispatch(object(Request)) in compiled.php line 2400
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3237
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 2347
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2331
at Kernel->handle(object(Request)) in index.php line 54
at require_once('C:\xampp\htdocs\Laravel_apps\App\public\index.php') in server.php line 21
1/2
PDOException in Connection.php line 333:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'app.articles' doesn't exist
in Connection.php line 333
at PDO->prepare('select * from `articles`') in Connection.php line 333
at Connection->Illuminate\Database\{closure}(object(MySqlConnection), 'select * from `articles`', array()) in Connection.php line 666
at Connection->runQueryCallback('select * from `articles`', array(), object(Closure)) in Connection.php line 629
at Connection->run('select * from `articles`', array(), object(Closure)) in Connection.php line 342
at Connection->select('select * from `articles`', array(), true) in Builder.php line 1508
at Builder->runSelect() in Builder.php line 1494
at Builder->get(array('*')) in Builder.php line 596
at Builder->getModels(array('*')) in Builder.php line 303
at Builder->get(array('*')) in compiled.php line 10366
at Model::all() in routes.php line 20
at RouteServiceProvider->{closure}()
at call_user_func_array(object(Closure), array()) in compiled.php line 8415
at Route->runCallable(object(Request)) in compiled.php line 8405
at Route->run(object(Request)) in compiled.php line 8121
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3176
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13274
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 11822
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 13009
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 12946
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 8122
at Router->runRouteWithinStack(object(Route), object(Request)) in compiled.php line 8113
at Router->dispatchToRoute(object(Request)) in compiled.php line 8103
at Router->dispatch(object(Request)) in compiled.php line 2400
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in compiled.php line 3237
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9838
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9828
at Pipeline->then(object(Closure)) in compiled.php line 2347
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2331
at Kernel->handle(object(Request)) in index.php line 54
at require_once('C:\xampp\htdocs\Laravel_apps\App\public\index.php') in server.php line 21

【问题讨论】:

  • 您的数据库中是否有“文章”表?
  • 当您将模型命名为“Article”并且没有覆盖 $primaryKey 和 $table 时,Eloquent 会假定该表为“articles”且主键为“id”。
  • 我在数据库中有文章表而不是文章,但它显示的文章有误

标签: php mysql laravel-5


【解决方案1】:

在您的模型“article.php”中执行此操作。

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
   protected $table = 'article'; 
}

它适用于您的“文章”表。

【讨论】:

  • 但我不明白问题出在哪里?
  • 问题是,当您创建模型并且不将受保护的 $table 声明为属性时,Eloquent 即 Laravel 的 ORM 以这种方式为该模型设置 table 的默认值。如果您的模型类是“用户”,它将使用表“用户”,在您的情况下,您将其命名为“文章”,因此它会在您的数据库中查找表“文章”。希望这能回答你的问题兄弟。
猜你喜欢
  • 2023-01-27
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 2018-04-19
  • 2015-10-05
  • 2018-06-30
  • 2021-05-13
  • 2021-10-17
相关资源
最近更新 更多