【发布时间】:2018-09-15 16:52:22
【问题描述】:
我在从数据透视表(多对多关系)中获取特定数据时遇到问题。场景是我想从两个特定日期之间的数据透视表中获取数据。当我使用此代码时
$user_availability = $user->dates->where('date','>=' , $start_date)->where('date','<=' , $end_date)->get();
foreach ($user_availability as $date)
{
echo $date->pivot->afternoon;
}
它给了我以下错误
类型错误:函数 Illuminate\Support\Collection::get() 的参数太少,在第 210 行的 C:\xampp\htdocs\codehacking\app\Http\Controllers\UsersController.php 中传递了 0 且至少为 1预计
用户模型:
public function dates()
{
return $this->belongsToMany('App\Date')->withPivot('morning', 'afternoon','night','comment');
}
数据透视表
如果您需要,我可以提供更多信息。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
尝试更新到
$user_availability = $user->dates()->where('date','>=' , $start_date)->where('date','<=' , $end_date)->get(); -
@ab_ab 出乎意料地有效!
-
()让人惊喜.. -
非常感谢!您可以发布答案
-
我使用
first()方法获取了没有()的单个结果。
标签: php laravel eloquent many-to-many pivot-table