Как отобразить данные текущего зарегистрированного пользователя в laravel

#php #laravel

Вопрос:

У меня три столика. Первый — это пользователь, у которого в качестве имени пользователя есть «электронная почта». Во-вторых, клиент, у которого в alos есть колонка электронной почты. И третья таблица-отгрузки. Отгрузка связана с таблицей клиентов. Пользователь может войти в систему с идентификатором электронной почты, который присутствует в таблице пользователей и клиентов. Когда пользователь входит в систему со своей электронной почтой, я хочу показать отправления, относящиеся к соответствующему пользователю, отфильтрованные по адресу электронной почты текущего пользователя, вошедшего в систему. Пожалуйста, веди меня. ниже приведен мой index.blade.php

 @extends('layouts.app')

@section('content')
<div class="page-titles">
  <h2> Vishal {{ $pageTitle }} <small> {{ $pageNote }} </small></h2>
  <h4></h4>
</div>

<div class="card">
    <div class="card-body">
        <div class="toolbar-nav" >   
            <div class="row">
                <div class="col-md-4 col-4">
                    <div class="input-group ">
                          
                          <input type="text" class="form-control form-control-sm onsearch" data-target="{{ url($pageModule) }}" aria-label="..." placeholder=" Type And Hit Enter ">
                        </div>
                </div> 
                <div class="col-md-8 col-8  text-right">    
                    <div class="btn-group">
                        @if($access['is_add'] ==1)
                        <a href="{{ url('shipments/create?return='.$return) }}" class="btn  btn-sm btn-primary"  
                            title="{{ __('core.btn_create') }}"><i class="fas fa-plus"></i> {{ __('core.btn_create') }}</a>
                        @endif
                        <div class="btn-group">
                            <button type="button" class="btn btn-sm btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-bars"></i> Bulk Action </button>
                            <ul class="dropdown-menu">
                            @if($access['is_remove'] ==1)
                                 <li class="nav-item"><a href="javascript://ajax"  onclick="SximoDelete();" class="nav-link tips" title="{{ __('core.btn_remove') }}">
                                Remove Selected </a></li>
                            @endif 
                            @if($access['is_add'] ==1)
                                <li class="nav-item"><a href="javascript://ajax" class=" copy nav-link " title="Copy" > Copy selected</a></li>
                                <div class="dropdown-divider"></div>
                                <li class="nav-item"><a href="{{ url($pageModule .'/import?return='.$return) }}" onclick="SximoModal(this.href, 'Import CSV'); return false;" class="nav-link "> Import CSV</a></li>

                                
                            @endif
                            <div class="dropdown-divider"></div>
                            @if($access['is_excel'] ==1)
                                <li class="nav-item"><a href="{{ url( $pageModule .'/export?do=excelamp;return='.$return) }}" class="nav-link "> Export Excel </a></li>    
                            @endif
                            @if($access['is_csv'] ==1)
                                <li class="nav-item"><a href="{{ url( $pageModule .'/export?do=csvamp;return='.$return) }}" class="nav-link "> Export CSV </a></li>    
                            @endif
                            @if($access['is_pdf'] ==1)
                                <li class="nav-item"><a href="{{ url( $pageModule .'/export?do=pdfamp;return='.$return) }}" class="nav-link "> Export PDF </a></li>    
                            @endif
                            @if($access['is_print'] ==1)
                                <li class="nav-item"><a href="{{ url( $pageModule .'/export?do=printamp;return='.$return) }}" class="nav-link "> Print Document </a></li>  
                            @endif
                            <div class="dropdown-divider"></div>
                            <li class="nav-item"><a href="{{ url($pageModule) }}"  class="nav-link "> Clear Search </a></li>
                                
                            
                              
                            </ul>
                        </div>   
                    </div>
                </div>
                   
            </div>  

        </div>  

            <!-- Table Grid -->
            
            {!! Form::open(array('url'=>'shipments?'.$return, 'class'=>'form-horizontal m-t' ,'id' =>'SximoTable' )) !!}
            <div class="table-responsive">
            <table class="table  table-hover table-striped  " id="{{ $pageModule }}Table">
                <thead>
                    <tr>
                        <th style="width: 3% !important;" class="number"> No </th>
                        <th  style="width: 3% !important;"> 
                            <input type="checkbox" class="checkall filled-in" id="checked-all"  />
                            <label for="checked-all"></label>
                        </th>
                        
                        
                        @foreach ($tableGrid as $t)
                            @if($t['view'] =='1')               
                                <?php $limited = isset($t['limited']) ? $t['limited'] :''; 
                                if(SiteHelpers::filterColumn($limited ))
                                {
                                    $addClass='class="tbl-sorting" ';
                                    if($insort ==$t['field'])
                                    {
                                        $dir_order = ($inorder =='desc' ? 'sort-desc' : 'sort-asc'); 
                                        $addClass='class="tbl-sorting '.$dir_order.'" ';
                                    }
                                    echo '<th align="'.$t['align'].'" '.$addClass.' width="'.$t['width'].'">'.SiteHelpers::activeLang($t['label'],(isset($t['language'])? $t['language'] : array())).'</th>';              
                                } 
                                ?>
                            @endif
                        @endforeach
                        <th  style="width: 10% !important;">{{ __('core.btn_action') }}</th>
                        
                      </tr>
                </thead>

                <tbody>                             
                    @foreach ($rowData as $row)
                        <tr>
                            <td class="thead"> {{   $i }} </td>
                            <td class="tcheckbox">
                                <input type="checkbox" class="ids filled-in" name="ids[]" value="{{ $row->id }}" id="val-{{ $row->id }}" /> 
                                <label for="val-{{ $row->id }}"></label>
                            </td>
                                                                                    
                         @foreach ($tableGrid as $field)
                             @if($field['view'] =='1')
                                <?php $limited = isset($field['limited']) ? $field['limited'] :''; ?>
                                @if(SiteHelpers::filterColumn($limited ))
                                 <?php $addClass= ($insort ==$field['field'] ? 'class="tbl-sorting-active" ' : ''); ?>
                                 <td align="{{ $field['align'] }}" width=" {{ $field['width'] }}"  {!! $addClass !!} >                   
                                    {!! SiteHelpers::formatRows($row->{$field['field']},$field ,$row ) !!}                       
                                 </td>
                                @endif  
                             @endif                  
                         @endforeach    
                         <td>

                                <div class="dropdown">
                                  <button class="btn dropdown-toggle" type="button" data-toggle="dropdown"><i class="fas fa-tasks"></i>  </button>
                                  <ul class="dropdown-menu">
                                    @if($access['is_detail'] ==1)
                                    <li class="nav-item"><a href="{{ url('shipments/'.$row->id.'?return='.$return)}}" class="nav-link tips" title="{{ __('core.btn_view') }}"> {{ __('core.btn_view') }} </a></li>
                                    @endif
                                    @if($access['is_edit'] ==1)
                                    <li class="nav-item"><a  href="{{ url('shipments/'.$row->id.'/edit?return='.$return) }}" class="nav-link  tips" title="{{ __('core.btn_edit') }}"> {{ __('core.btn_edit') }} </a></li>
                                    @endif
                                    <div class="dropdown-divider"></div>
                                    @if($access['is_remove'] ==1)
                                        <li class="nav-item"><a href="javascript://ajax"  onclick="SximoDelete();" class="nav-link  tips" title="{{ __('core.btn_remove') }}">
                                        Remove Selected </a></li>
                                    @endif 
                                  </ul>
                                </div>

                            </td>        
                        </tr>
                        
                    @endforeach
                      
                </tbody>
              
            </table>
            </div>
            <input type="hidden" name="action_task" value="" />
            
            {!! Form::close() !!}
            
            
            <!-- End Table Grid -->

        </div>
        @include('footer')
    </div>      
</div>

<script>
$(document).ready(function(){
    $('.copy').click(function() {
        var total = $('input[class="ids"]:checkbox:checked').length;
        if(confirm('are u sure Copy selected rows ?'))
        {
            $('input[name="action_task"]').val('copy');
            $('#SximoTable').submit();// do the rest here   
        }
    })  
    
}); 
</script>   
    
@stop
 

Ответ №1:

Итак, вы хотите отобразить отгрузки зарегистрированного пользователя? Затем на этом этапе я ожидаю, что вы уже определили Красноречивые отношения как методы в своих классах моделей красноречивых пользователей и отгрузок и фактически сможете сохранить данные.

В вашем контроллере

 use IlluminateSupportFacadesAuth;

public function index()
{
  $user = Auth::user()->load('shipments');
  return view('sample.index', ['user' => $user]);
}
 

С помощью функции Auth::user() он проверяет, аутентифицирован ли текущий пользователь (возвращает значение true, если пользователь вошел в систему) через фасад аутентификации. Поскольку модель пользователя уже получена, вы можете использовать функцию ленивой загрузки с помощью функции load() для загрузки модели отгрузки.

И в своем блейде вы можете отображать информацию о пользователе и повторять сбор отправлений следующим образом:

 @foreach ($user->shipments as $shipment)
 <p>{{ $shipment->field }}</p>
@endforeach
 

Комментарии:

1. cn u подключается к vishal.7003[at]gmail.com