如何将 eloquent 查询显示到视图 blade 中?
How to display eloquent query into view blade?
我正在查询 'itemregistration' table 中与 'section' table 有 eloquent 关系的员工列表。但是我无法将 table 部分的信息显示到视图 blade.
我的控制器得到如下查询:
$itemregistrations = Itemregistration::with('section')->get();
当我检查数组时:
dd($itemregistrations->toArray());
我得到这个结果:
0 => array:133 [▼
"ItemRegistrationID" => 1
"RegistrationDate" => "2005-12-01"
"SectionID" => 12
"name" => "A SANTESH"
"section" => array:2 [ …2]
]
部分数组应包含 'SectionID' 和 'sectionname' 字段。
如果我检查
dd($itemregistration);
它产生
Collection {#1948 ▼
#items: array:1125 [▼
0 => Itemregistration {#1990 ▼
#primaryKey: "ItemRegistrationID"
#hidden: array:1 [ …1]
+timestamps: false
#connection: "mysql"
#table: null
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:133 [ …133]
#original: array:133 [ …133]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: array:1 [ …1]
#touches: []
#visible: []
#fillable: []
#guarded: array:1 [ …1]
我想在 blade 中显示结果,但无法获取节数组值:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
<td>{{ $value->section->sectionname }}</td>
@endforeach
我也试过:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
@foreach($value as $section => $val)
<td>{{ $val->sectionname }}</td>
@endforeach
@endforeach
但也失败了。出现的错误是"Trying to get property of non-object".
我试图通过这段代码查看collection中包含的值:
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item }}</td>
<td>{{ $item->section }}</td>
</tr>
@endforeach
它以这种格式显示这个值:
{"ItemRegistrationID":1,"name":"A Santesh"{"SectionID":12,"sectionname":"E"}}
如果我用这个显示结果:
@foreach ($itemregistrations as $item)
{{ $item->name }}
@endforeach
我可以得到名单,但要用这个得到sectionname
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item->section->sectionname }}</td>
</tr>
@endforeach
显示错误"Trying to get property of non-object "。我不明白为什么我无法获得部分值。
我的版块模型:
class Section extends Authenticatable
{
protected $table = 'sections';
protected $primaryKey = 'SectionID';
/**
* Get the user that have agama.
*/
public function itemregistrations()
{
return $this->hasMany('App\Itemregistration', 'SectionID', 'ItemregistrationID');
}
}
物品注册型号:
class Itemregistration extends Model
{
protected $primaryKey = 'ItemRegistrationID';
/*
* Get all of the owning models.
*/
public function section()
{
return $this->belongsTo('App\Section', 'SectionID');
}
如何显示包含部分数组值的查询?
您可以使用以下代码:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
@foreach($value->section as $section)
<td>{{ $section->sectionname }}</td>
@endforeach
@endforeach
我假设 @foreach
在 Collection
上调用了 toArray()
,那么您应该将数据作为命名数组来处理,所以试试这个:
@foreach($itemregistrations as $index => $value)
<td>{{ $value['name'] }}</td>
@foreach($value['section'] as $section => $val)
<td>{{ $val['sectionname'] }}</td>
@endforeach
@endforeach
感谢其他人对我问题的帮助。
我配置了正确的语法来获取节数组中节名的值。我不知道为什么我不能使用 -> 助手来获取值。我尝试了以下语法,它可以在 blade 视图中获取值。
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item->name }}</td> //also can <td>{{ $item['name'] }}</td>
<td>{{ $item['section]['sectionname'] }}</td>
</tr>
@endforeach
我正在查询 'itemregistration' table 中与 'section' table 有 eloquent 关系的员工列表。但是我无法将 table 部分的信息显示到视图 blade.
我的控制器得到如下查询:
$itemregistrations = Itemregistration::with('section')->get();
当我检查数组时:
dd($itemregistrations->toArray());
我得到这个结果:
0 => array:133 [▼
"ItemRegistrationID" => 1
"RegistrationDate" => "2005-12-01"
"SectionID" => 12
"name" => "A SANTESH"
"section" => array:2 [ …2]
]
部分数组应包含 'SectionID' 和 'sectionname' 字段。
如果我检查 dd($itemregistration);
它产生
Collection {#1948 ▼
#items: array:1125 [▼
0 => Itemregistration {#1990 ▼
#primaryKey: "ItemRegistrationID"
#hidden: array:1 [ …1]
+timestamps: false
#connection: "mysql"
#table: null
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:133 [ …133]
#original: array:133 [ …133]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: array:1 [ …1]
#touches: []
#visible: []
#fillable: []
#guarded: array:1 [ …1]
我想在 blade 中显示结果,但无法获取节数组值:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
<td>{{ $value->section->sectionname }}</td>
@endforeach
我也试过:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
@foreach($value as $section => $val)
<td>{{ $val->sectionname }}</td>
@endforeach
@endforeach
但也失败了。出现的错误是"Trying to get property of non-object".
我试图通过这段代码查看collection中包含的值:
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item }}</td>
<td>{{ $item->section }}</td>
</tr>
@endforeach
它以这种格式显示这个值:
{"ItemRegistrationID":1,"name":"A Santesh"{"SectionID":12,"sectionname":"E"}}
如果我用这个显示结果:
@foreach ($itemregistrations as $item)
{{ $item->name }}
@endforeach
我可以得到名单,但要用这个得到sectionname
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item->section->sectionname }}</td>
</tr>
@endforeach
显示错误"Trying to get property of non-object "。我不明白为什么我无法获得部分值。
我的版块模型:
class Section extends Authenticatable
{
protected $table = 'sections';
protected $primaryKey = 'SectionID';
/**
* Get the user that have agama.
*/
public function itemregistrations()
{
return $this->hasMany('App\Itemregistration', 'SectionID', 'ItemregistrationID');
}
}
物品注册型号:
class Itemregistration extends Model
{
protected $primaryKey = 'ItemRegistrationID';
/*
* Get all of the owning models.
*/
public function section()
{
return $this->belongsTo('App\Section', 'SectionID');
}
如何显示包含部分数组值的查询?
您可以使用以下代码:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
@foreach($value->section as $section)
<td>{{ $section->sectionname }}</td>
@endforeach
@endforeach
我假设 @foreach
在 Collection
上调用了 toArray()
,那么您应该将数据作为命名数组来处理,所以试试这个:
@foreach($itemregistrations as $index => $value)
<td>{{ $value['name'] }}</td>
@foreach($value['section'] as $section => $val)
<td>{{ $val['sectionname'] }}</td>
@endforeach
@endforeach
感谢其他人对我问题的帮助。
我配置了正确的语法来获取节数组中节名的值。我不知道为什么我不能使用 -> 助手来获取值。我尝试了以下语法,它可以在 blade 视图中获取值。
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item->name }}</td> //also can <td>{{ $item['name'] }}</td>
<td>{{ $item['section]['sectionname'] }}</td>
</tr>
@endforeach