使用Laravel 5.我有一个模型属性,它有许多周可用。这是物业模型。
<?php namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* @property mixed week
*/
class Property extends Model
{
public function week()
{
return $this->hasMany('App\Models\Week', 'PropertyID', 'PropertyID');
}
}
我正在尝试使用WhereBetween方法在对象的hasMany关系上使用WhereBetween。这是我得到的错误。
方法&#39; WhereBetween&#39;没有在课程中找到&#39; illumainate \ Database \ Eloquent \ Relations \ HasMany。
list($from, $to) = $params->get('range');
$week = $property->week()
->whereBetween('WeekDate', array($from, $to))
->get();
如果我尝试使用WhereRaw而不是WhereBetween,则会发生同样的错误。 hasMany类没有WhereRaw或WhereBetween。有办法解决这个问题吗?
答案 0 :(得分:0)
我在Laravel 5.2中遇到了类似的问题,代码如下:
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background"
Storyboard.TargetName="Grid">
<DiscreteObjectKeyFrame KeyTime="0"
Value="#FFABCDEF" /> // argb value of your desired background color
</ObjectAnimationUsingKeyFrames>
这会抛出如下错误:
调用未定义的方法App \ Events :: whereBetween()
在Laravel 5.0+中我不能直接在模型上使用whereBeetween。但是在API文档中,WhereBetween仍然作为DB类的函数列出(see here)。通过用DB类替换模型,我们可以解决它:
$events = Events::whereBetween('start', array($start, $end))
->whereBetween('end', array($start, $end))
->get();