我现在正努力与人际关系合作,并希望得到一些帮助,以便如何使这种关系发挥作用。我正在使用Laravel。
假设您有一个类似的员工模型:
Staff.php
class Staff extends \Eloquent {
protected $fillable = [];
public function status()
{
return $this->belongsTo('Staff_status');
}
}
工作人员的数据库表如下:
Table Name: staff
Fields: id, staffer_name, status_id
您还有一个员工状态模型如下所示:
Staff_statuses.php
class Staff_status extends Eloquent {
public function staff()
{
return $this->hasMany('Staff');
}
}
您还有一个员工数据库表,如下所示:
Table Name: staff_statuses
Fields: id, status_name
然而,当我尝试加载人员控制器索引方法时,它表示找不到类Staff_status。
知道为什么吗?
答案 0 :(得分:1)
您已使用Staff_statuses.php
作为model
的名称,但您在类名中使用了Staff_status
,因此您使用控制器中的Staff_status
来调用它好。这就是问题所在。
更改文件名以匹配class name
。例如,使用以下内容:
// StaffStatus.php
class StaffStatus extends Eloquent{
protected $table = 'staff_statuses';
public function staff()
{
return $this->hasMany('Staff');
}
}
// Staff.php
class Staff extends Eloquent {
protected $table = 'staff';
protected $fillable = [];
public function status()
{
return $this->belongsTo('StaffStatus');
}
}
在controller
中,您可以使用以下内容:
$staffStatus = StaffStatus::all();
$staff = Staff::all();
答案 1 :(得分:0)
命名空间App;
使用Illuminate \ Database \ Eloquent \ Model;
类Photo扩展Model {
public function imageable()
{
return $this->morphTo();
}
}
class Staff扩展Model {
public function photos()
{
return $this->morphMany('App\Photo', 'imageable');
}
}
类产品扩展模型 {
public function photos()
{
return $this->morphMany('App\Photo', 'imageable');
}
}