【发布时间】:2017-09-03 01:47:41
【问题描述】:
我的 Laravel 肯定有问题。
我安装了 Laravel 5.4。我已经在我的 Windows 上全局安装了 Composer。我有 php artisan 工作,但到处都是错误:
php 工匠修补匠
当我输入php artisan make:model Brand 时,它会显示Model created succesfully.
太棒了,对吧?当我接下来输入 php artisan tinker 和 App/Brand::all() 时,它显示 Class 'Brand' not found。
虽然我的app 文件夹中有Brand.php:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Brand extends Model
{
//
}
顺便说一句,我在 laracast 关注 this series。
mySQL
我无法运行mysql 命令,尽管我已经在我的 Windows 上手动安装了 mySQL(全局也是如此)。
它说
'mysql' is not recognized as an internal or external command,
operable program or batch file.
迁移
php artisan migrate 给我这个错误:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key
length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key
length is 767 bytes
除了php artisan migrate 运行良好之外,它还为我创建了两个表:migrations 和 users。我以为那是因为我的\database\migrations 文件夹中有两个文件。但是……
当我说php artisan make:migration create_brands_table --create=brands 时,它确实在此文件夹中创建了一个文件。应该的。我在up() 函数中添加了几行代码,如下所示:
Schema::table('brands', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('description');
$table->timestamps();
});
但它不会创建表。
请注意,我确实编辑了我的.env 文件以建立正确的数据库连接,否则php artisan migrate 将无法在我使用php artsian migrate 命令创建的其他两个表上工作。
它只给出一个已经存在的错误。我也尝试了 migrate:rollback 和 migrate:refresh 。我尝试在composer dump-autoload 命令之后执行此操作,但结果相同。
我在这里迷路了,我显然是 Laravel 的新手,但是我的一些熟悉 Laravel 的朋友从未遇到过我遇到的问题。
我尝试重新安装并创建一个新项目,但所有...猜猜看:结果相同。
【问题讨论】:
-
在你写完你的品牌迁移之后,你又在做```php artisan migrate``吗?
-
"mySQL on my windows" 你在使用 WAMP 或类似的东西吗?
标签: php mysql laravel composer-php laravel-artisan