Laravel 5.5属于没有按预期工作

问题描述 投票:0回答:1

我有三个关系模型,ReservedTicket扩展Ticket

App/TicketType

class TicketType extends Model
{
    protected $fillable = [
        'name', 'startdate', 'enddate', 'countinuous', 'price', 'description', 'personal', 'total', 'minage', 'maxage', 'event_id', 'header_image_path', 'footer_image_path',
    ];

    public function event()
    {
        return $this->belongsTo(Event::class);
    }

    public function tickets()
    {
        return $this->hasMany(Ticket::class);
    }

    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

App/Ticket

class Ticket extends Model
{
    protected $fillable = [
        'user_id', 'first_name', 'last_name', 'prefix_name', 'ticket_type_id', 'sold_on', 'sold_by', 'scanned_at', 'scanned_by',
    ];

    public function ticketType()
    {
        return $this->belongsTo(TicketType::class, 'ticket_type_id');
    }

    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

App/ReservedTicket

class ReservedTicket extends Ticket
{
    protected $table = 'reserved_tickets';
}

我已经像我在我的应用程序中的任何其他模型上设置了关系。我甚至尝试指定外键列,但它没有发生。

如果我使用TicketshasMany(),我会得到所有TicketType。但另一种方式是不起作用。

我遗漏了遗产吗?我正在使用ReservedTicket的一个实例。

php laravel relation
1个回答
2
投票

将类扩展到新模型时,您还需要在扩展类中定义关系

class ReservedTicket extends Ticket
{
    protected $table = 'reserved_tickets';

    public function ticketType()
    {
        return $this->belongsTo(TicketType::class, 'ticket_type_id');
    }

    public function user()
    {
         return $this->belongsTo(User::class);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.