Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Извиняюсь за ламерский, возможно, вопрос.
Подключил 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);
}
}
Страницы 1