我的 Laravel 肯定有问题。
我已经安装了 Laravel 5.4。我已经在全局范围内的 Windows 上安装了 Composer。我有 php artisan
工作,但到处都是错误:
php artisan 修补匠
当我输入 php artisan make:model Brand
时,它显示 Model created successfully.
太棒了,对吧?当我接下来输入 php artisan tinker
和 App/Brand::all()
时,它说找不到“品牌”类。
虽然我的 app
文件夹中有 Brand.php
:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Brand extends Model
{
//
}
顺便说一下,我正在关注 this series在 laracast。
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 的 friend 从未遇到过我遇到的问题。
我尝试重新安装并创建一个新项目,所有...猜猜看:相同的结果。
最佳答案
你弄错了命名空间,使用反斜杠:App\Brand
要创建表,请使用 Schema::create
而不是 Schema::table
mysql部分不是Laravel关心的,不应该出现在本题中。无论如何,您应该检查您的环境 PATH 变量。
关于php - 我的 Laravel 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43282128/