Что-то не так с помощью 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('...');
}