gpt4 book ai didi

php - Eloquent ORM 电影取景地

转载 作者:行者123 更新时间:2023-11-29 03:05:05 24 4
gpt4 key购买 nike

我正在使用 Laravel 4 和 eloquent orm 构建电影 session 数据库。

现在我有以下模型。

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');
}
}

(注意:这些模型被剥离为必要的代码。)

现在在我的 Controller 中,我有以下内容。

$Sessions = Session::all();
foreach($Sessions as $Session){
echo (isset($Session->location->name) ? $Session->location->name : 'NO LOCATION');
}

这就是我的数据库的样子: 'Sessions' 'Locations'

现在,一切似乎都正常,但即使两个 session 具有相同的位置,也只有第一个 session 会返回位置的名称!第二个 echo 将返回“NO LOCATION”。

任何关于原因的想法或帮助将不胜感激。如果这个答案不够清楚,请告诉我。

最佳答案

用这个代替你的:

class Session extends \Eloquent
{
public $timestamps = false;
public $table = 'movsys_session';
protected $fillable = array('time');

public function location(){
return $this->belongsTo('Location');
}
}

关于php - Eloquent ORM 电影取景地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16930208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com