【发布时间】:2015-09-26 09:17:24
【问题描述】:
我从一位同事那里收到了一个项目,它是用 Laravel 编写的,我没有任何经验。现在有了一个教程,我能够制作一个数据库和表格以及一些数据,但是在使用 php artisian db:seed 时我收到了同样的错误两次告诉我我缺少Illuminate\databas\eloquent\model:setAttribute() 的论点2,我找不到我的错,这就是我决定在这里问的原因,也是因为我是个菜鸟。
票务表
CREATE TABLE IF NOT EXISTS `ticket` (
`idTickets` int(10) unsigned NOT NULL,
`reference` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`mail` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`content` longtext COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
是的,ticket table 更长并且有一些主键,只是为了以防万一。
迁移代码:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTicketsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('ticket', function(Blueprint $table)
{
$table->increments('id');
$table->string('reference');
$table->string('subject');
$table->string('name');
$table->string('mail');
$table->longtext('content');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('ticket');
}
}
用户数据:
<?php
// Composer: "fzaninotto/faker": "v1.3.0"DB::table('users')->truncate();
use Faker\Factory as Faker;
class SeedTicketsTableTableSeeder extends Seeder {
public function run()
{
DB::table('ticket')->truncate();
$tickets = [
[
`reference` => 'randomcode1',
`subject` => 'test',
`name` => 'testor',
`mail` => 'testor@mail.nl',
`content` => 'Lorem ipsum dolor sit amet'
]
];
foreach($tickets as $ticket){
Ticket::create($ticket);
}
foreach(range(1, 10) as $index)
{
SeedTicketsTable::create([
]);
}
}
}
我还在databaseseeder.php = $this->call('SeedTicketsTableTableSeeder');中添加了以下行
我是否遗漏了一些代码,或者这只是一个简单的错字?提前感谢您的帮助。我检查了this 相关问题,但这似乎没有多大帮助。
编辑
按内容添加 ' 但是我仍然收到上述错误。
【问题讨论】:
-
为什么您的创建表查询显示键为“idTickets”,而您的迁移显示键为“id”?
-
我认为我们需要查看您的 Ticket 模型。如果你能提出完整的错误,那就太好了。