我试图了解保存具有多个关系的模型的过程,但我仍然无法弄清楚如何以“犹太”的方式进行操作。
首先-我有一个属于类别(Eventcat)和位置的事件模型:
// Event.php
class Event extends Eloquent {
protected $table = 'events';
public function location()
{
return $this->belongsTo('Location');
}
public function eventcat()
{
return $this->belongsTo('Eventcat');
}
public function users()
{
return $this->belongsToMany('User');
}
}
// Location.php
class Location extends Eloquent
{
protected $table = 'locations';
public function events()
{
return $this->hasMany('Event');
}
}
// Eventcat.php
class Eventcat extends Eloquent
{
protected $table = 'eventcats';
public function events()
{
return $this->hasMany('Event');
}
}
我已经在数据库中植入了一些类别和位置,现在我试图让事件保存工作。我认为这$event->eventcat()->associate( $eventcat )
会起作用,但我得到了一个Call to undefined method eventcat()
错误。
public function postCreateEvent() {
$event = new Event();
$eventcat = Eventcat::find( Input::get('event-create-eventcat[]') );
$location = Location::find( Input::get('event-create-location[]') );
$event->title = Input::get('event-create-title');
$event->description = Input::get('event-create-description');
$event->price = Input::get('event-create-price');
$event->start_date = Input::get('event-create-start_date');
$event->end_date = Input::get('event-create-end_date');
$event->eventcat()->associate( $eventcat );
$event->location()->associate( $location );
$event->save();
}
我在这里阅读了文档、API 和一些线程,但我仍然无法找出处理这个问题的最佳方法。
感谢您的回复!