【问题标题】:How to access the field of a foreign table in Laravel 5?如何在 Laravel 5 中访问外部表的字段?
【发布时间】:2017-03-09 15:03:44
【问题描述】:

我正在我的 CRUD 中检索外部表的值。我有一个带有票状态的票表。门票表有 ticket_statuses 表的 foreign_key。

TicketsController.php

public function create()
{
    $users = User::all();
    $ticketstatus = TicketStatus::all();
    $tickets = Ticket::paginate(25);
    return View::make('user.tickets.create', compact('users','ticketstatus','tickets'));
}

create.blade.php

<div class="form-group">

    {!! Form::label('status', 'Status', ['class' => 'col-md-4 control-label']) !!}

    <div class="col-md-6">

        <select class="form-control form-field-ticket form-field-users">
            @foreach($tickets as $item)
                <option value="">{{$item->ticketstatus->status}}</option>
            @endforeach 
        </select>

    </div>                    

</div>

Ticket.php

public function ticketstatus()
{
    return $this->belongsTo('App\TicketStatus', 'ticket_status_id', 'id');
}

TicketStatus.php

// Ticket Status __has_many__ Ticket
public function tickets()
{
    return $this->hasMany('Ticket');
}

.

@foreach($tickets as $item)
    <option value="">{{$item->ticketstatus->status}}</option>
@endforeach 

上面的代码给出了tickets table字段。

我想访问 ticket_statuses 表的 $item->ticketstatus->status of ticket_statuses 字段。

我需要做什么才能访问该字段?任何帮助表示赞赏。谢谢

【问题讨论】:

  • 你遇到了什么错误?
  • @AmitGupta 我没有收到任何错误。只是我得到了错误的表格和字段
  • $item-&gt;ticketstatus-&gt;id 给出 ticket_statuses 表的 id。 w
  • @SanzeebAryal hmm.. $item->ticketstatus->id 没有给出 ticket_statues 的 id。它来自门票表

标签: javascript php html mysql laravel


【解决方案1】:

我认为一张票只有一个状态,所以这是一对一的关系。

在 Ticket.php 中

public function ticket_status(){
    return $this->hasOne('App\TicketStatus','id','ticket_status_id');
}

那么,

    @foreach($tickets as $item)
        <option value="">{{$item->ticket_status->status}}</option>
    @endforeach 

【讨论】:

  • 谢谢先生。像魅力一样工作
猜你喜欢
  • 2015-05-29
  • 2015-11-11
  • 2015-10-28
  • 2011-09-26
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多