Re: [Catalyst] Updating a database entry

2011-04-03 Thread Rohan M
Hi Adam,

Did you try putting result-set in the variable rather than directly putting
it into stash?

my $user = $c-model('DB::Tech')-find({id = $userid});
$user-update({ id = $username,
   firstname = $fname,
   lastname = $lname,
   email = $email,
   phone = $phone,});

Try this and let us know

On Sun, Apr 3, 2011 at 12:07 AM, Adam Jimerson vend...@gmail.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 First of all hello people of the list!

 I am working on my first Catalyst app and need some help updating an
 entry from my database.

 $c-stash( users_rs = $c-model('DB::Tech'));
 my $user = $c-stash-{users_rs}-find({ id = $userid });
   die No such user: $userid\n if (!$user);
 $c-stash(user = $user);
 $c-log-debug('Before update');
 $user-update({
id = $username,
firstname = $fname,
lastname = $lname,
email = $email,
phone = $phone,
});
 $c-log-debug('After update');

 In the debug output from Catalyst I can see where the Before update
 gets printed but fails with no error that I can see during the update.
 Any help or advice in this matter would be greatly appreciated.
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk2XbNAACgkQsK1mqepTLy9JNACeIsj8CR0d6utPMLRpgZQEs2+X
 N8UAnicZ07JpEK6kCxtwHdYGd+hW6VQt
 =NuEZ
 -END PGP SIGNATURE-

 ___
 List: Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive:
 http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/




-- 
रोहन मल्लेल्रवार
___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Updating a database entry

2011-04-03 Thread Adam Jimerson
I managed to find my error that was causing my problem:

DBIx::Class::DynamicDefault::update(): Operation requires a primary key
to be declared on 'TickIt::Schema::Result::Tech' via set_primary_key at
/home/vendion/Projects/TickIt/script/../lib/TickIt/Controller/Admin.pm
line 114

Does it make a difference that none of the fields that I am updating is
my primary_key on my database?  Or is it complaining about the lack of a
primary key all together?

Rohan M wrote:
 Hi Adam,
 
 Did you try putting result-set in the variable rather than directly
 putting it into stash?
 
 my $user = $c-model('DB::Tech')-find({id = $userid});
 $user-update({ id = $username,
firstname = $fname,
lastname = $lname,
email = $email,
phone = $phone,});
 
 Try this and let us know
 
 On Sun, Apr 3, 2011 at 12:07 AM, Adam Jimerson vend...@gmail.com
 mailto:vend...@gmail.com wrote:
 
 First of all hello people of the list!
 
 I am working on my first Catalyst app and need some help updating an
 entry from my database.
 
 $c-stash( users_rs = $c-model('DB::Tech'));
 my $user = $c-stash-{users_rs}-find({ id = $userid });
   die No such user: $userid\n if (!$user);
 $c-stash(user = $user);
 $c-log-debug('Before update');
 $user-update({
id = $username,
firstname = $fname,
lastname = $lname,
email = $email,
phone = $phone,
});
 $c-log-debug('After update');
 
 In the debug output from Catalyst I can see where the Before update
 gets printed but fails with no error that I can see during the update.
 Any help or advice in this matter would be greatly appreciated.

___
List: Catalyst@lists.scsys.co.uk mailto:Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive:
http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/




 -- 
 रोहन मल्लेल्रवार




 ___
 List: Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/




signature.asc
Description: OpenPGP digital signature
___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/


Re: [Catalyst] Updating a database entry

2011-04-03 Thread Francisco Obispo
Remember that Catalyst uses DBIx::Class as an ORM, so it must be able to 
uniquely identified each row with a Primary Key.

If you're going to update the primary key (which is not usually a good idea), 
make sure that you have 'ON UPDATE CASCADE' on referencing child tables, 
otherwise the operation will fail.

Francisco

On Apr 3, 2011, at 12:25 PM, Adam Jimerson wrote:

 I managed to find my error that was causing my problem:
 
 DBIx::Class::DynamicDefault::update(): Operation requires a primary key
 to be declared on 'TickIt::Schema::Result::Tech' via set_primary_key at
 /home/vendion/Projects/TickIt/script/../lib/TickIt/Controller/Admin.pm
 line 114
 
 Does it make a difference that none of the fields that I am updating is
 my primary_key on my database?  Or is it complaining about the lack of a
 primary key all together?
 
 Rohan M wrote:
 Hi Adam,
 
 Did you try putting result-set in the variable rather than directly
 putting it into stash?
 
 my $user = $c-model('DB::Tech')-find({id = $userid});
 $user-update({ id = $username,
   firstname = $fname,
   lastname = $lname,
   email = $email,
   phone = $phone,});
 
 Try this and let us know
 
 On Sun, Apr 3, 2011 at 12:07 AM, Adam Jimerson vend...@gmail.com
 mailto:vend...@gmail.com wrote:
 
 First of all hello people of the list!
 
 I am working on my first Catalyst app and need some help updating an
 entry from my database.
 
 $c-stash( users_rs = $c-model('DB::Tech'));
 my $user = $c-stash-{users_rs}-find({ id = $userid });
  die No such user: $userid\n if (!$user);
 $c-stash(user = $user);
 $c-log-debug('Before update');
 $user-update({
   id = $username,
   firstname = $fname,
   lastname = $lname,
   email = $email,
   phone = $phone,
   });
 $c-log-debug('After update');
 
 In the debug output from Catalyst I can see where the Before update
 gets printed but fails with no error that I can see during the update.
 Any help or advice in this matter would be greatly appreciated.
 
 ___
 List: Catalyst@lists.scsys.co.uk mailto:Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive:
 http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/
 
 
 
 
 -- 
 रोहन मल्लेल्रवार
 
 
 
 
 ___
 List: Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/
 
 
 ___
 List: Catalyst@lists.scsys.co.uk
 Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
 Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
 Dev site: http://dev.catalyst.perl.org/

Francisco Obispo 
Hosted@ Programme Manager
email: fobi...@isc.org
Phone: +1 650 423 1374 || INOC-DBA *3557* NOC
Key fingerprint = 532F 84EB 06B4 3806 D5FA  09C6 463E 614E B38D B1BE





___
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/