2015-04-08 2 views
0

У меня есть таблица html5, которая динамически создается из элементов базы данных и содержит ссылки, например. удалить значок, который находится в тегах ссылок <a href="xxxx" class="yyyy"></a>. Я хочу иметь возможность щелкнуть значок удаления и узнать, какой элемент я хочу удалить. Я установил класс ссылки так же, как соответствующий идентификатор элемента базы данных, но я не могу прочитать класс с контроллера после того, как я нажму ссылку. Есть ли способ сделать это в PHP Laravel? Или, может быть, вы могли бы предложить лучший способ достичь этого? Это похоже на тактику для этого.Laravel PHP, получивший ссылку link class

ответ

1

Если каждая строка таблицы представляет собой строку в базе данных, значит, ваша ссылка может содержать идентификатор из базы данных. Например, пользовательская таблица.

Row 1 => Link /users/delete/1 
Row 2 => Link /users/delete/2 
Row 3 => Link /users/delete/3 

Делая это таким образом, вы можете точно знать, какой из них называется. На файле маршрутов, если вы не используете Route::resource(), вы должны иметь что-то вроде этого:

Route::get('users/delete/{id}', '[email protected]'); 

И в вашем destroy метод:

public function destroy($id) 
{ 
    // your logic here 
} 
+0

Ой, я думаю, что сформулировал вопрос немного большой неправильно. Я получаю данные из БД в контроллере, затем создаю представление с красными данными, а затем создаю таблицу из них. Я нашел решение, а не лучшее, но оно будет работать. Я просто поместил таблицу в форму, а вместо ссылок и изображений я использовал переключатели со значением ID. Тогда я просто прочитаю значение с проверенного переключателя с Input :: get :) – Oskars

0

Формат ваши ссылки, как: Если для Например, вы перечисляете все предметы, используя foreach:

@foreach($items as $item) 
<a href="{{URL::to('/item/delete/'.$item->id}}">{{$item->name}}</a> 
@endforeach 

Внутри routes.php

Route::get('item/delete/{id}', '[email protected]'); 

внутри ItemsController.php определить следующую функцию

public function deleteItem($id) { 
    $item = Item::get($id); 
    if(!$item) App::abort(404); 

    $item->delete(); 
    return Redirect::to('/'); 
} 

и я предполагаю, что у вас есть модель в Item.php

class Item extends Eloquent { 
    protected $table = 'items'; 
} 

и таблица ваших позиций имеет столбцы идентификаторов и имен

+0

Привет, спасибо за предложение, я буду использовать его. Но у меня проблема с файлом маршрута. Это верно в разделе ссылок в браузере (item/delete/correctId), но вызывает ошибку: 'NotFoundHttpException в строке RouteCollection.php 145:' Я считаю, что в файле маршрута он не получает {id} как ожидалось – Oskars

+0

Измените свой вопрос, включив в него все 'routes.php' или, по крайней мере, раздел, вызывающий проблему. –