Что-то не так с помощью Mojolicious::Plugin::Model

Я использую Mojolicious::Plugin::Model, но я не знаю, почему я не могу получить доступ к приложению.

Ниже упрощенный код

Приложение

package App;
use Mojo::Base 'Mojolicious';

sub startup {
    my $self = shift;
    $self->plugin('Model');
    $r->get('/')->to('Premium#create')
}

контроллер

package App::Premium;
use Mojo::Base 'Mojolicious::Controller';
use App::Model::User;

sub create {
    my $self = shift;

    my $user = App::Model::User->new(name => 'John doe');
    $user->create();
    $self->render(text => 'Ok');
}

модель

package App::Model::User;
use Mojo::Base 'MojoX::Model';

sub create {
    my $self = shift;

    $self->app->mysql->db->query('...');
}

Но модель не может получить доступ к методам приложения...

1 ответ

Решение

Контроллер:

$self->model('User')->create(name => 'John doe');

Модель:

sub create {
    my ($self, %attrs) = @_;

    $self->app->mysql->db->query('...');
}
Другие вопросы по тегам