2016-03-21 84 views
0

我考慮葉片原因條件I ussually使用本地PHP編碼:翻譯代碼laravel葉片

$ jlhkriteria = Kriteria ::計數();

kriterias表: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我用這個代碼,因爲我覺得在查看查詢是不好的想法,任何想法,使這個在MVC就像沒有查詢其在刀片視圖。

回答

1

您將需要創建包含業務邏輯的模型和控制器類,然後將數據傳遞給視圖。類似的東西,以指出:

型號:

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 
+0

kriteria1 [ 'kriteria_name']和kriteria2 [ 'kriteria_name']不能是回聲(更新的問題,對不起,我忘了添加關於它的細節。這就是爲什麼我把mysqli獲取數組之間)for –

+0

你可以像{{'$ kriteria [$ i] - > kriteria_name'}}和{{'$ kriteria [$ j] - > kriteria_name}}' – salamza

+0

我得到錯誤異常未定義偏移量:3, kriteria'=> object(Collection),可能是因爲在返回視圖中('index',compact('kriteria')] - 開頭的位置是「[」 –