我想从练习表中访问name属性,但我收到了Collections。我的代码看起来像。
$
,结果看起来像
$practice = Practice::withTrashed()->where('id',$appointment->practice_id)->get();
dd($practice);
有没有办法,所以我可以得到“DJ和Charlie Eye Associates”这个名字。我使用了withThrashed方法,因为这个条目在练习表中被软删除了。
答案 0 :(得分:2)
您可以使用foreach循环
foreach($collection as $collect){
dd($collect->name);
}
或者您可以将集合转换为数组
$array = $collection->toArray();
dd($array[0]->name);
或
$collection->first()->name;
希望这有助于你。
询问是否有任何查询
答案 1 :(得分:2)
首先,您需要从集合中获取对象,然后您可以获取该对象的任何属性:
$practice->first()->name;
或者:
$practice[0]->name;
答案 2 :(得分:1)
您可以通过使用此
来实现此目的dd($practice[0]->name);
或者,如果您知道您的查询只返回一个对象,则可以使用->first()
代替->get()
,然后就可以使用。
dd($practice->name);
->first()
给出第一个对象
->get()
提供了一系列对象。
答案 3 :(得分:1)
$practice = Practice::withTrashed()->where('id',$appointment->practice_id)->get()->get('name');
dd($practice);
虽然这非常丑陋,你可能已经阅读了Collections:你的陈述完全正是Laravel所说的。
答案 4 :(得分:0)
如果find()
是主键,请使用id
,您只需返回练习。
$practice = Practice::withTrashed()->find($appointment->practice_id);
https://laravel.com/docs/5.3/eloquent#retrieving-single-models