Php 雄辩的电影定位
我正在使用Laravel4和雄辩的orm建立一个电影会话数据库 现在我有以下几种型号Php 雄辩的电影定位,php,mysql,laravel,laravel-4,eloquent,Php,Mysql,Laravel,Laravel 4,Eloquent,我正在使用Laravel4和雄辩的orm建立一个电影会话数据库 现在我有以下几种型号 class Location extends \Eloquent { public $timestamps = false; public $table = 'movsys_location'; protected $fillable = array('name', 'desc'); public function sessions(){ return $thi
class Location extends \Eloquent
{
public $timestamps = false;
public $table = 'movsys_location';
protected $fillable = array('name', 'desc');
public function sessions(){
return $this->hasMany('Session', 'location_id');
}
}
class Session extends \Eloquent
{
public $timestamps = false;
public $table = 'movsys_session';
protected $fillable = array('time');
public function location(){
return $this->hasOne('Location', 'id');
}
}
(注:这些模型已剥离为必要的代码。)
现在在我的控制器中,我有以下内容
$Sessions = Session::all();
foreach($Sessions as $Session){
echo (isset($Session->location->name) ? $Session->location->name : 'NO LOCATION');
}
这就是我的数据库的外观:
现在,一切似乎都正常,但即使两个会话具有相同的位置,也只有第一个会话将返回该位置的名称!第二个回波将返回“无位置”
任何关于为什么的想法或帮助都将不胜感激。如果这个答案不够清楚,请告诉我。试着用这个来代替你的答案:
class Session extends \Eloquent
{
public $timestamps = false;
public $table = 'movsys_session';
protected $fillable = array('time');
public function location(){
return $this->belongsTo('Location');
}
}
完美的非常感谢你。