我從數據庫中的表中檢索所有行,以便將它們顯示在數據表的客戶端中,並使用數據和相應的操作。這是不相關的,但我使用laravel。這是我在做什麼:在foreach循環中取消設置多維數組
$allItems = $model::withTrashed()->get();
$allRows = array();
foreach ($allItems as $item) {
$allRows[] = array(
$item->id,
$item->name,
$item->category->name,
$item->url,
strftime('%d-%m-%Y %H:%M', $item->updated),
'actions' => array(
'view' => array(
'href' => $this->_mainTable. '/view/' .$item->id,
),
'delete' => array(
'href' => $this->_mainTable. '/delete/' .$item->id,
'modal' => array(
'question' => 'Delete job:',
'name' => $item->name. '?',
'advice_phrase' => '',
'btn_confirm' => 'Delete',
'class_phrase' => '',
),
),
),
);
if($item->trashed()) {
unset(end($allRows)['actions']['delete']);
dd(end($allRows)['actions']);
}
}
它不給我任何錯誤,並在var_dum()
- >(dd(end($allRows)['actions'])
),裏面如果它仍然顯示的刪除操作。我不明白爲什麼這不起作用。
你能告訴你在'$ allItems'得到什麼,你所使用的laravel的版本? –
'$ allItems'是從表格中檢索到的行,包括軟刪除的行,它工作正常。我認爲這個問題並不嚴重,條件正常,沒有解決。我正在使用laravel 5.2。 – Miguel
'unset(end($ allRows)['actions'] ['delete']);'將其更改爲 '$ lastRow = end($ allRows)unset($ lastRow ['actions'] ['delete']) ;' –