Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.10.2015 11:01:29

louki

datatables - select - on click - to another view

Извиняюсь за ламерский, возможно, вопрос.
Подключил datatables к вьюшке, все красиво. Включил также select extension - теперь строки селектятся, поодиночке или скопом.
Как мне сделать так, чтобы по клику(возможно, двойному) на строке таблицы открывался другой view и туда передавалось содержимое этой строки(мне нужен только id) ?

======= view datatables/index.blade.php==================================================
@extends('master')
@section('content')
    <table class="table table-bordered" id="devices-table">.
        <thead>
            <tr>
                <th>Id</th>
                <th>Наименование</th>
                <th>Тип</th>
                <th>Описание</th>
                <th>IP адрес</th>
                <th>Created At</th>
                <th>Updated At</th>
            </tr>
        </thead>
    </table>
@stop
@push('scripts')
<script>
$(function() {
    $('#devices-table').DataTable({
        processing: true,
        serverSide: true,
        ajax: '{!! route('datatables.data') !!}',
<------>select: true,
<------>scrollY: 400,
        columns: [
            { data: 'id', name: 'id' },
            { data: 'sysname', name: 'sysname' },
            { data: 'type', name: 'type' },
            { data: 'description', name: 'description' },
            { data: 'ip', name: 'ip' },
            { data: 'created_at', name: 'created_at', searchable: 'false' },
            { data: 'updated_at', name: 'updated_at', searchable: 'false' }
        ],
    });
});
</script>
@endpush
======================================================

============controller DatatablesController.php=============================
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use yajra\Datatables\Datatables;
use App\Models\Devices;

class DatatablesController extends Controller
{
/**
* Displays datatables front end view
*
* @return \Illuminate\View\View
*/
public function getIndex()
{
    return view('datatables.index');
}

/**
* Process datatables ajax request.
*
* @return \Illuminate\Http\JsonResponse
*/
public function anyData()
{
    return Datatables::of(Devices::select('*'))->make(true);
}
    //
}

==================================================

=====model Devices.php==========================
<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Devices extends Model
{
protected $fillable = ['type','sysname','description','ip','snmp_w','snmp_r','active'];
    public function getSomeDevices()  {
        return $this->latest('created_at')->SomeDevices()->get();
    }
    public function getSomeOtherDevices()  {
        return $this->latest('created_at')->SomeOtherDevices()->get();
    }
    public function getHW2403()  {
        return $this->latest('created_at')->HW2403()->get();
    }
    public function scopeSomeDevices($query) {
        $query->where('created_at', '<=', Carbon::now());
    }
    public function scopeSomeOtherDevices($query) {
       $query->where('type', '=', 'hw2326')
            ->where('active','=',true);
    }
    public function scopeHW2403($query) {
        $query->where('type', '=', 'hw2403')
            ->where('active','=',true);
    }
}

Подвал раздела