in reply to DBIx::Class problem (probably)

Hello spadacciniweb,

You haven’t given us enough information.

From the error, it appears that $agent is an instance of DBIx::Class::ResultSet. However, the methods get_columns and profilo are not listed in the documentation for that module. The closest to the first is the get_column method (note: singular, not plural), and there is nothing corresponding to profilo. So, what is $agent? Likewise, in the line:

my $agent = master->resultset('Agent')->search({

what is master? From the syntax, it should be a reference of some kind, but references aren’t usually represented as barewords. Are you running under use strict;?

Please see How do I post a question effectively? and The SSCCE.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^2: DBIx::Class problem (probably)
by spadacciniweb (Curate) on Jun 26, 2015 at 11:13 UTC
    Hello Athanasius, your request is reasonable... I hate the person who do not work to make understandable the code.
    So I try and hope I have made better work.
    I have created many packeges (as Agent.pm) from the command:
    cd lib ; dbicdump -o debug=1 -o components='[qw(Helper::Row::ToJSON In +flateColumn::Serializer InflateColumn::DateTime Helper::ResultSet::Se +tOperations)]' MySchema::Master 'dbi:mysql:dbname=mydb' root ; cd ..
    The documentation created for the package Agent.pm is:
    perldoc Agent
    Agent(3) User Contributed Perl Documentation +Agent(3) NAME MySchema::Master::Result::Agent COMPONENTS LOADED · DBIx::Class::Helper::Row::ToJSON · DBIx::Class::InflateColumn::Serializer · DBIx::Class::InflateColumn::DateTime · DBIx::Class::Helper::ResultSet::SetOperations TABLE: "agent" ACCESSORS id data_type: 'integer' extra: {unsigned => 1} is_auto_increment: 1 is_nullable: 0 profilo data_type: 'enum' default_value: 'Manutentore' extra: {list => ["Manutentore","Amministrativo","Admin","Admi +nExt","Superadmin","Ente","AmExt","Ispettore"]} is_nullable: 1 id_appalto data_type: 'integer' extra: {unsigned => 1} is_nullable: 1 user data_type: 'varchar' is_nullable: 1 size: 15 pass data_type: 'varchar' is_nullable: 0 size: 255 disabled data_type: 'tinyint' default_value: 0 is_nullable: 1 note data_type: 'text' is_nullable: 1 creation data_type: 'timestamp' datetime_undef_if_invalid: 1 default_value: '0000-00-00 00:00:00' is_nullable: 0 last_login data_type: 'datetime' datetime_undef_if_invalid: 1 is_nullable: 1 ts data_type: 'timestamp' datetime_undef_if_invalid: 1 default_value: current_timestamp is_nullable: 0 PRIMARY KEY · "id" UNIQUE CONSTRAINTS "idx_user" · "user" RELATIONS controlloes Type: has_many Related object: MySchema::Master::Result::Controllo ispeziones Type: has_many Related object: MySchema::Master::Result::Ispezione perl v5.18.2 2015-05-26 +Agent(3)

    At the begin, in other package, I write the code:
    ... sub master () { $Master ||= MySchema::Master->connect; return $Master; } ...
    So, master->resultset('Agent') is the Agent MySQL table as Agent resultset. I can used the DBIx::Class::ResultSet methods as search_rs, ... without problems.
    In my initial code posted, I can:
    return $agent;
    or
    return $agent->get_columns;
    (with 's' because I have loaded DBIx::Class::Row)
    but I have the error already posted if in my code write
    return $agent->profilo
    or
    $agent->update({ last_login => \ " NOW()" });
    Why is there an error?
    And, more important, why the same code not show error in old machine (and it is right)?

    I do not understand. :-(
    Thank you for any tips

    ($_="nzz ojjdloobnf jjt tqqbebd77jojxfc")=~y~wb-zg2-5c96-8~aa-z0-9~s=~s~~~s;$_=~y~5-8~fuck~;print
      I have resolved the problem, but I do not know the origin.
      However, the steps are:
      - change CPAN repository (CPAN> o conf urllist) - rebuild CPAN modules (CPAN> upgrade)

      Probably the upgrade of DBIx::Class::* modules has fixed the problem.


      Update: from today onwards, I use perlbrew

      ($_="nzz ojjdloobnf jjt tqqbebd77jojxfc")=~y~wb-zg2-5c96-8~aa-z0-9~s=~s~~~s;$_=~y~5-8~fuck~;print
        After troubleshooting, I resolved the problem through these steps:
        - into cpan set 'o conf urllist' with 'http://backpan.perl.org/'
        - 'cpanm -f Storable@2.39'

        bye,
        M



        ($_="nzz ojjdloobnf jjt tqqbebd77jojxfc")=~y~wb-zg2-5c96-8~aa-z0-9~s=~s~~~s;$_=~y~5-8~fuck~;print