如何转换MySqli循环代码Laravel控制器

时间:2018-10-31 07:47:00

标签: laravel-5 mysqli eloquent

我想在foreach循环中的while循环中工作,但无法将其转换为Laravel控制器系统。请帮忙。

foreach (range('a', 'z') as $i) 
{
echo $i = strtolower($i); 
$sql = "SELECT * FROM `list` Where name like '$i%' Limit 30";
$result = mysqli_query($con, $sql);
echo"<hr><h3>Name Starting with ".strtoupper($i)."</h3>";
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
    $id = $row['id'];
    $name = $row['name'];
    echo "<li><a href=\"name/".$row['id']."\">".$row['name']."</a></li>";
}
echo "<li><a href=\"name/".$i."\">More</a></li>";
echo "</ul>";
}

我在Laravel中拥有的代码是

foreach (range('a', 'z') as $i) 
{
    $list = DB::table('list')->where('name', 'LIKE', $i.'%')->limit(30)->get();            
    return view('pages.all', ['list' => $list]);            
}

此代码仅提供以字母“ a”开头的名称的数据,而不会继续其余字符。

1 个答案:

答案 0 :(得分:0)

根据您的搜索将其存储在阵列上。

$list = array();
foreach (range('a', 'z') as $i) {
    $list[$i] = DB::table('list')->where('name', 'LIKE', $i.'%')->limit(30)->get();            
}
return view('pages.all', ['list' => $list]);

自定义视图,以针对每个字符(a-z)显示列表。

[编辑]

可以如下更改查看文件

@foreach ($list as $keyI => $moredata)
    <hr>
    <h3>Author's Name Starting with "{{strtoupper($keyI)}}"</h3>
    <ul class="tags-list">
        @foreach ($moredata as $data)
            <li><a href="/{{$data->slug}}">{{$data->name}}</a></li>
        @endforeach
    </ul>
@endforeach