我有以下模型定义;
class Alarm extends Model
{
protected $table = 'vwAlarm';
protected $primaryKey = 'AlarmId';
public $timestamps = false ;
public function scopeActiveAlarms($query)
{
return $query->whereDate('AlarmClearedUTCDateTime', '=', '9999-12-31 23:59:59.9999999');
}
public function alarmTypeDesc()
{
return $this->belongsTo(AlarmType::class, 'AlertTypeId', 'AlertTypeId');
}
public function Site()
{
$rec = \DB::table('vwAlarm')
->join('vwYfUserToSiteMappings as vw1', 'vwAlarm.SiteCode', '=', 'vw1.SiteCode')
->join('vwYfUserToSiteMappings as vw2','vwAlarm.CompanyId', '=', 'vw2.CompanyId')
->first();
return $rec;
}
...
}
我在我的控制器中调用此模型;
$alarm = Alarm::findOrFail($id);
在这里我看到一个问题,警报模型中的Site() method
给出了不相关的数据库行。(我希望我通过的Id
($ id)的结果正确)
我在这里做错了什么?这是正确的做法吗?