【发布时间】:2016-08-17 05:47:19
【问题描述】:
我有 Laravel Eloquent 课程Collage
class Collage extends Model
{
/**
* Get the User that owns this Collage.
*/
public function user()
{
return $this->belongsTo('App\User');
}
}
拼贴迁移架构
Schema::create('collages', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->string('name')->nullable();
$table->timestamps();
});
和User
class User extends Authenticatable
{
/**
* Get all Collages that belongs to this User.
*/
public function collages()
{
return $this->hasMany('App\Collage');
}
}
但是当我在 tinker 上这样做时
$user = App\User::find(1)->first();
$collage = new App\Collage;
$collage->name = 'Collage';
$collage->user = $user;
//and save
$collage->save();
抛出错误QueryException
General error: 1 table collages has no column named user
【问题讨论】:
-
您想在拼贴中添加新用户吗?
-
不,我只是想将用户 ID(拥有此拼贴画的人)广告到拼贴画中。
-
我认为,据我所知,您需要更改关系(我假设您的列):
$this->hasMany('App\User', 'user_id', 'id');和return $this->hasMany('App\Collage','id','user_id');
标签: php laravel eloquent relational-database