我有一个搜索结果视图,其中包含来自其他网站API的表格生成列表。我正试图通过GET将艺术家ID传递给另一个下一个动作。然后,艺术家ID将用于与API交互。
我尝试像这样传递艺术家ID,但我收到'array_combine():两个参数应该有相同数量的元素'。
有问题的观看文件:
@foreach($parser->Artists->Artist as $Artist)
<table class = "table table-striped">
<thead>
{{ var_dump(strval($Artist['ID']))}}
<h3><a href = "{{ action('ArtistController@detail', strval($Artist['ID'])) }}">{{ $Artist['ListName'] }}</a></h3>
</thead>
<tbody>
vardump是测试一个字符串实际上被传递给action()。我可以在它是一个简单的XML对象之前确认它。
这是相应的路线:
Route::get('/artist/detail/{$artist}','ArtistController@detail');
控制器动作:
<?php
// app/controllers/ArtistController
class ArtistController extends BaseController
{
public function detail($Artist) {
return 'Artist ID is ' . $Artist;
}
{
答案 0 :(得分:0)
问题在于Laravel太聪明了。我的$ Artist变量不是作为字符串读取的,而是作为模型读取的,因为绑定了routes文件。
routes.php文件
Route::model('artist','Artist');
我从$ Artist_ID更改了$ Artist,效果很好。