将代码翻译成 laravel blade

Translate code to laravel blade

我的情况 blade 因为我通常使用原生 php 编码:

$jlhkriteria = Kriteria::count();

kriterias table : id_kriteria, kriteria_name

@for ($i = 1; $i <= $jlhkriteria; $i ++)
    <?php $queri1 = mysqli_query($mysqli, "SELECT * FROM kriterias WHERE id_kriteria='$i' ORDER BY id_kriteria ASC");
    $kriteria1 = mysqli_fetch_array($queri1, MYSQLI_ASSOC); ?>

    @for ($j = $i + 1; $j <= $jlhkriteria ; $j ++)

    <?php $queri2 = mysqli_query($mysqli, "SELECT * FROM kriterias WHERE id_kriteria='$j' ORDER BY id_kriteria ASC");
            $kriteria2 = mysqli_fetch_array($queri2, MYSQLI_ASSOC); ?>



    <?php echo $i . $j; ?>

<?php echo $kriteria1['kriteria_name']; ?>
<?php echo $kriteria2['kriteria_name']; ?>
@endfor
@endfor

在 Laravel 5 中,我使用了这段代码,因为我认为在 View 中进行查询是个坏主意,任何在 MVC 中进行此操作的想法都喜欢在 Blade 视图中不进行查询。

您需要创建包含业务逻辑的模型和控制器 类,然后将数据传递给视图。类似的东西:

型号:

class Kriteria extends Model
{
    protected $table = 'kriterias';
}

控制器:

class KriteriaController extends Controller
{
    public function index()
    {
        $kriteria = Kriteria::orderBy('id_kriteria')->get();
        return view('index', compact('kriteria'));
    }
}

查看:

@for($i=0; $i < count($kriteria); $i ++)
    @for($j = $i + 1; $j < count($kriteria) ; $j ++)
        {{ $i . $j }}
        {{$kriteria[$i]->kriteria_name.' '.$kriteria[$j]->kriteria_name}}
    @endfor
@endfor