【问题标题】:Laravel - Find name and displayLaravel - 查找名称并显示
【发布时间】:2019-06-14 11:46:48
【问题描述】:

我想显示所有具有相同名称的数据。例如,这是我的数据。

我有这个数据,例如我只想要James 的名字,那么必须显示所有名为 James 的数据。

我的问题是,即使名称是 Rizal 正在显示数据,也会显示数据。我只想让数据依赖于 id 或 name

我的观点

<table class="table">
    <thead>
        <tr>
            <th>DATE</th>
            <th>TIME IN</th>
            <th>TIME OUT</th>  
        </tr>
    </thead>
    <tbody>                       
        @foreach ($employeeSched as $setTime)
            <tr>      
                <td> {{Form::label('date_today', $setTime->date_today)}}</td>
                <td> {{Form::label('time_in',  $setTime->time_in)}}</td>
                <td> {{Form::label('time_out',  $setTime->time_out)}}</td>
            </tr>
        @endforeach                  
    </tbody>
</table>

控制器,显示我的数据

 $employeeSched = Schedule::all();

【问题讨论】:

  • 你能分享一下预期的输出吗?对于给定的数据?
  • @C2486 是的,当然,最终输出必须仅显示具有相同名称的数据。例如Lebron,那么只有当我点击名字时,数据必须都是勒布朗
  • employee_no 是外键还是您在每条新记录上插入键和名称。
  • @umefarooq 这是外键先生。

标签: laravel laravel-5 eloquent


【解决方案1】:
$employeeSched = Schedule::where('name', ‘rizal’)->get();

上述查询将给出名称为 rizal 的所有数据,以将其传输到刀片

return view(‘viewBlade’)->(‘userList’, $employeeSched);

现在在刀片中

@foreach($userList as $user)
{{$user.name}}
{{$user.anotherFields}}
@endforeach

【讨论】:

  • 如果我点击名字'james`怎么办?
  • 那么这是一个固定值吗?我想要一个动态值先生
  • 然后在表单中创建一个字段并从表单输入中传递用户名,然后您可以通过 $input['name'] 将其放在控制器中的查询中从控制器访问它
【解决方案2】:

您可以使用它来获取特殊用户姓氏的行:

let userLastName = 'anything';
$employeeSched = Schedule::where('last_name', userLastName)->get();

通过这种方式,您可以动态设置用户名。

请注意,姓氏可能不是唯一的。所以最好使用employee_no 对抗last_name 来获取特殊的用户数据,或者如果你没有employee_no,请同时使用first_namelast_name

let userFirstName = 'anything';
let userLastName = 'anything else';
$employeeSched = Schedule::where(['first_name'=>userFirstName, 'last_name'=>userLastName])->get();

【讨论】:

  • 这不是完整的想法,但我明白了,我认为这将是动态的,我会将 anything 设置为我的输入文本字段或隐藏字段
【解决方案3】:

假设这是您使用的控制器函数,它调用路由 url,如 \listuser

function viewUser(Request $request){
  $id= $request->id;
  $employeeSched = Schedule::where('employee_no',$id)->get();
}

在您循环访问用户时在刀片中。

    //$users contains all the user data, assumed id which hold the employee id, and user have name. 
assume route listuser where you list the attendance
    @foreach($users as $u)
      <a href="{{url('listuser')}}?id={{$u->id}}">{{$u->name}}</a>
    @foreach

这应该可以完成工作。并且为了您的注意,不要使用名称始终为员工 ID 之类的字段查询数据库。因为相同的名称可以重复给不同的员工,但每个员工的员工 ID 都是唯一的。

另一种方式
在路线中

Route::get('user/{id}/attenance','UserController@viewUser')->name('user.attend');

控制器功能会喜欢

function viewUser($id){
  $employeeSched = Schedule::where('employee_no',$id)->get();
}

在 Blade 中,您可以从这里访问出勤页面

@foreach($users as $u)
   <a href="{{route('user.attend',$u->id)}}">{{$u->name}}</a>
@foreach

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多