在laravel问题中获取数据槽复选框

时间:2018-11-12 18:41:52

标签: php mysql laravel

我正在尝试使用Laravel中的两个独立查询从两个不同的表中获取数据。但是我想用两个不同的复选框显示这两个表数据,例如,如果我想查看出版物详细信息或教育详细信息,或同时查看这两者,请帮助我处理我的视图。

我的代码显示在这里:

控制器代码为ExampleController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Auth;


class ExampleController extends Controller
{

    public function index()
    {

         $result = DB::table('education')->get();
         $data = DB::table('publications')->get();

         return view('triel',compact('result','data'));
    }

}

我的视图文件是Trail.blade.php,并提供了代码。

@extends('layouts.app')
@section('content')
<div class="container"><br>
    <h1>Irfan Khan Triel Page</h1>

    <div class="text text-success text-center">
        PHD Research
    </div>
    <table class="table">
        <tr>
            <th>
                PHD Research Area
            </th>
            <th>University</th>
            <th>Country</th>
        </tr>

     @foreach($result as $value)
        <tr>
            <td>{{$value->research_area}}</td>

            <td>{{$value->univ}}</td>

            <td>{{$value->country}}</td>
        </tr>
        @endforeach
       </table>

        <div class="text text-success text-center">
       Publications Detail
    </div>
    <table class="table">
        <tr>
            <th>
                Title
            </th>
            <th>Status</th>
            <th>Year</th>
        </tr>

     @foreach($data as $value)
        <tr>
            <td>{{$value->title}}</td>

            <td>{{$value->status}}</td>

            <td>{{$value->year}}</td>
        </tr>
        @endforeach

    </table>

    @endsection

我的路线文件在这里给出。

Route::get('triel','ExampleController@index');

请修改我的视图,以通过复选框分别获取这两个结果。

1 个答案:

答案 0 :(得分:0)

有许多方法可以实现您所尝试的目标。我显示的示例正在使用Jquery。

  1. 向您的表添加ID,例如

    <table class="table" id="publication-detail"> <table class="table" id="research-detail">

  2. 将事件on click侦听器添加到您的复选框。当其中一个复选框被单击时,假设发布,然后隐藏您的研究详细信息表。例如

    $(".checkbox-publication").click(function(){ $("#research-detail").css('display', 'none'); $("#publication-detail").css('display', 'block'); });

反之亦然。如果两个都单击,则显示两个表。

如果您想使用更高级,更高效的工具,请尝试使用Ajax。

  1. https://api.jquery.com/click/
  2. https://api.jquery.com/css/
  3. https://api.jquery.com/jQuery.ajax/