require tweaking. You can simply replace the select list with a hidden
field:
echo $form->hidden('SomeModel.user_id', array('value' =>
$session->read('Auth.User.id'));
Or, instead of grabbing it from the session in the view, you could do
this in your action:
$this->set('user_id', $this->Session->read('Auth.User.id'));
echo $form->hidden('SomeModel.user_id', array('value' => $user_id));
On Sat, Apr 25, 2009 at 7:06 PM, Teedaddy <bretteegarden@gmail.com> wrote:
>
> Thanks for the response.
>
> The main thing I am trying to do is make sure my index.ctp, view.ctp,
> and add.ctp pages only return and show the data for the current logged
> in user.id.
>
> For instance, it is easy enough to work with related data to a
> specific user after they are selected from the user view but if I want
> to add new records to a related table, the Baked forms for add.ctp
> show all the users in the users table in a pull down input field. I
> deally this would be a hidden input of just the user.id from the
> view.ctp. I want to make sure any new rows added are automatically
> assigned to the specific user, once they are logged in. This seems
> like it should be simple, but everything I try does not work.
>
> On Apr 23, 7:58 pm, brian <bally.z...@gmail.com> wrote:
>> On Thu, Apr 23, 2009 at 11:17 AM, Teedaddy <bretteegar...@gmail.com> wrote:
>>
>> > hello friends, I am VERY new to all the cakePHP methods, so, any help
>> > would be much appreciated.
>>
>> > I have built my database tables and have Baked all Models,
>> > Controllers, and Views. Everything is working as expected with the
>> > relations and interaction with the db tables.
>>
>> > I am now trying to customize the view, add, and edit functions. The
>> > main thing I need to do is make many of the views, User.id specific
>> > and can't for the life of me figure out the best way to do that.
>>
>> Define "User.id specific". Do you mean that you need to save a user_id
>> foreign key with your data? Are you saving the user to a session when
>> logged in?
>>
>>
>>
>> > Here is a sample of code of what I am trying to do. I just want the
>> > add form to grab the current User.id for saving to the database.
>>
>> > function writer_add() {
>> > if (!empty($this->data)) {
>> > $this->Writer->create();
>> > if ($this->Writer->save($this->data)) {
>> > $this->Session->setFlash(__('The Writer has been saved', true));
>> > $this->redirect(array('action'=>'index'));
>> > } else {
>> > $this->Session->setFlash(__('The Writer could not be saved.
>> > Please, try again.', true));
>> > }
>> > }
>> > $users = $this->Writer->User->find('first', array('User' =>
>> > 'User.id'));
>> > $this->set(compact('users'));
>> > }
>>
>> This makes no sense. If you want find a *specific* ('first') User,
>> then you need to put 'User.id' on the left side and pass a $user_id on
>> the right. Also, though it's not too big a deal, I guess your var
>> should be $user, not $users.
>>
>> Anyway, if you save the User to the session when they log in, you
>> won't need to do a find() here. Maybe you should explain what it is
>> you're trying to do.
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---
No comments:
Post a Comment