我使用::find
查找业务但business_position我需要使用WHERE business_id
=和WHERE id
来找到正确的位置,下面的示例是可用的......
<?php
$s = Stats::find(Auth::user()->id);
$myJob = \App\Businesses::find($s->business_id);
$matchedValues = ['business_id' => $s->business_id, 'id' => $s->business_position];
$myPosition = \App\BusinessPositions::where($matchedValues)->get();
?>
使用$myPosition
我使用
{{ $myPosition->pay_amount }}
在那条线上,它会抛出错误......
未定义的属性: Illuminate \ Database \ Eloquent \ Collection :: $ pay_amount(查看: C:\用户\达伦\ MyLavProject \资源\视图\页面\业务\ business.blade.php)
答案 0 :(得分:1)
Laravel的get()
会返回与您的查询匹配的集合结果(即使没有或只有一个,它将是Laravel模型实例的数组)。
您可以使用first()
代替get()
来获取第一个结果,也可以foreach
通过get()
提供的每个结果。这取决于您的应用程序是否允许每个business_id
/ id
组合使用多个权限。
答案 1 :(得分:0)
$myPosition
这是一个对象数组。
所以如果你需要结果:
{{ $myPosition[0]->pay_amount }}
或
@foreach($myPosition as $position)
{{ $position->pay_amout }}
@endforeach
如果你不想使用其中任何一个:
将您的查询更改为:
$myPosition = \App\BusinessPositions::where($matchedValues)->first();
现在您可以使用:{{ $myPosition->pay_amount }}