просмотр таблицы значений laravel вместо использования $ id to $ ticket_id - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь получить данные из двух разных таблиц. Пример таблицы A и таблицы B. Обе таблицы имеют столбцы user_id и ticket_id. Я пытаюсь отобразить, совпадают ли идентификаторы auth id и user_id вместе с таблицами A ticket_id и Table B ticket_id.показать или отобразить данные в view.blade.php,

Я пробовал приведенный ниже код, но он не работает, показывая ошибку, мой URL-адрес

http://127.0.0.1:8004/ticket_chat/1560242956

если я изменил вместо ticket_id идентификатор таблицы

http://127.0.0.1:8004/ticket_chat/1

это работает.

проблема заключалась в том, что я не получаю данные с помощью ticket_id и яполучая данные при вводе идентификатора, я не пишу код, отображая данные с использованием идентификатора таблицы.

мой контроллер

public function ticket_chat($ticket_id )
        {  
              $notification = Notification::where('status','ACTIVE')->get(); 
              $ticket_chat = Ticket::where('user_filter_id','=',Auth::id())->where('status','=','OPEN')->find($ticket_id );
              $message = Ticket_Chat::where('user_filter_id','=',Auth::id())->find($ticket_id );
              return view('User/ticket.ticket_chat',compact('notification','message','ticket_chat'));
        }

мой маршрут

Route::get('ticket_chat/{ticket_id }', 'TicketController@ticket_chat');

мой взгляд

@include('User/support/support_header')
 <div class="page-wrapper">
            <!-- ============================================================== -->
            <!-- Container fluid  -->
            <!-- ============================================================== -->
            <div class="container-fluid">
                <!-- ============================================================== -->

                <div class="row">
                 <div class="col-12">
                        <div class="card m-b-0">
                            <!-- .chat-row -->

                                <!-- .chat-left-panel -->

                                <!-- .chat-left-panel -->
                                <!-- .chat-right-panel -->
                                 <div class="chat-right-aside">
                                    <div class="chat-main-header">
                                        <div class="p-20 b-b">
                                            <h3 class="box-title"><u>Ticket Message</u></h3>


                                           <h4 class="text-uppercase"class=" box bg-light-primary">{{ $ticket_chat->subject }}</h4>
                                           <h4 class="text-uppercase "class="box-title">{{ $ticket_chat->ticket_id }}</h4>


                                        </div>
                                    </div>
                                    <div class="chat-rbox">
                                        <ul class="chat-list p-20">
                                            <!--chat Row -->
                                            <li>
                                                <div class="chat-img"><img src="1.jpg" alt="user" /></div>
                                                <div class="chat-content">
                                                    <h5>James Anderson</h5>
                                                    <div class="box bg-light-info">Lorem Ipsum is simply dummy text of the printing & type setting industry.</div>
                                                </div>
                                                <div class="chat-time">10:56 am</div>
                                            </li>
                                            <!--chat Row -->

                                            <!--chat Row -->
                                            <li class="reverse">
                                                <div class="chat-time">10:57 am</div>
                                                <div class="chat-content">
                                                    <h5>{{ Auth::user()->name }}</h5>
                                                    <div class="box bg-light-inverse">{{ $message->message }}</div>
                                                </div>
                                                <div class="chat-img"><img src="1.jpg" alt="user" /></div>
                                            </li>
                                            <!--chat Row -->

                                            <!--chat Row -->

                                            <!--chat Row -->
                                        </ul>
                                    </div>
                                    <div class="card-body b-t">
                                        <div class="row">
                                            <div class="col-8">
                                                <textarea placeholder="Type your message here" class="form-control b-0"></textarea>
                                            </div>
                                            <div class="col-4 text-right">
                                                <button type="button" class="btn btn-info btn-circle btn-lg"><i class="fas fa-paper-plane"></i> </button>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!-- .chat-right-panel -->
                            </div>
                            <!-- /.chat-row -->
                        </div>
                    </div>
                </div>
       @include('User/footer')

моя ошибка

"Попытка получить свойство 'субъект' необъекта (представление: C: \ ticket \ resources \ views \ User \ ticket \ ticket_chat.blade.php) ◀ "

" Попытка получить свойство 'ticket_id' необъекта (Представление: C: \ ticket \ resources \ views \ User \ ticket \ ticket_chat.blade.php) ◀ "

" Попытка получить свойство 'message' необъекта (Представление: C: \ ticket \ resources \ views \ User \ ticket \ticket_chat.blade.php) ◀ "

Ответы [ 2 ]

0 голосов
/ 24 июня 2019

В методе поиска Laravel работает только с первичным ключом таблицы, в большинстве случаев первичным ключом считается идентификатор по умолчанию.

Измените его на id из ticket_id или добавьте нижнюю строку в вашу модель билета

protected $ primaryKey = "ticket_id";

0 голосов
/ 11 июня 2019

Я не уверен, но я думаю, что ваша проблема в том, что вы используете условие "найти", которое автоматически использует "id" столбца первичного ключа вашей модели, поэтому, если вы хотите его использовать, вам нужно изменить класс модели идобавьте следующую строку.

Модель билета:

protected $primaryKey="ticket_id"; // default value is = id

С вышеуказанным изменением, возможно, будет работать следующее условие:

$ticket_chat = Ticket::where('user_filter_id','=',Auth::id())->where('status','=','OPEN')->find($ticket_id );

Так что если вы не хотитечтобы изменить первичный ключ в вашей модели, вы можете попытаться изменить свое состояние для этого:

$ticket_chat = Ticket::where('user_filter_id','=',Auth::id())
                ->where('status','=','OPEN')
                ->where("ticket_id",$ticket_id )
                ->first();

Я надеюсь, что помог вам

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...