我正在关注 video tutorial系列,我被困在将用户路由到显示数据库信息的页面。他使用本地主机 Sequel,而我在 AWS EC2 实例上运行 Mysql。
这里是错误
QueryException in Connection.php line 713:
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'phpmyadmin.products_lists' doesn't exist (SQL: select * from
`products_lists` where `products_lists`.`id` = 7 limit 1)
我的 routes.php 的内容
Route::get('product', function() {
//echo 'hello';
$product = App\products_list::find(7);
print_r($product);
});
Route::group(['middleware' => ['web']], function(){
});
我的模型的内容
namespace App;
use Illuminate\Database\Eloquent\Model;
class products_list extends Model
{
//
}
和我的 .env 的内容
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=
DB_DATABASE=localhost
DB_USERNAME=root
DB_PASSWORD=snipsnip
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
请注意我的错误是 'phpmyadmin.products_lists'
但我不明白为什么 larval 坚持保留我以前的 .env 文件中的数据。
另外,我不确定 APP_KEY=SomeRandomString
因为除了数据库问题之外,它运行良好。
这是我实例的/etc/phpmyadmin/config-db.php 的内容
$dbuser='phpmyadmin';
$dbpass='snipsnip';
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';
最佳答案
Laravel Eloquent 尝试访问模型本身的复数形式的表。这就是为什么你的类名是 products_list
并且它试图找到一个名为 products_lists
的表。如果您使用的是自定义名称,则设置表名:
namespace App;
use Illuminate\Database\Eloquent\Model;
class products_list extends Model
{
protected $table = 'your_custom_name';
}
至于 key ,自己生成即可:
php artisan key:generate
关于php - 无法使用在 AWS EC2 实例上运行的 laravel 5.2 从数据库中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37527910/