Thanks for this feedback. After two days I found the solution:
if ($this->Post->findByTitle($this->data['Post']['title']))
{
$var =
$this->Post->findByTitle($this->data['Post']['title']);
$this->redirect('/posts/view/' .
$var['Post']['id']);
}
and it worked.
I also did:
$var = $this->Post->findByTitle($this->data['Post']['title']);
if (!empty($var))
{
$this->redirect('/posts/view/' . $var['Post']['id']);
}
which works too but is cleaner. please note that
$var['Post']['id'] works
$var[0]['id'] does not work.
If someone can let me know why? it woudl be appreciated.
Thanks
On Jul 2, 12:09 am, schneimi <[EMAIL PROTECTED]> wrote:
> $var[0]['id'] is the correct syntax for the array you posted, are you
> sure it is really the content of $var? Not rather $var['Post'][0]
> ['id']?
>
> Btw, you shouldn't do the findByTitle twice, this is better:
>
> $var = $this->Post->findByTitle($this->data['Post']['title']);
>
> if (!empty($var))
> {
> $this->redirect('/posts/view/' . $var[0]['id']);
> }
>
> Hope this helps,
>
> Michael
>
> On 1 Jul., 20:41, Latoune - Newbie <[EMAIL PROTECTED]> wrote:
>
> > Hi,
> > I am a newbie so please sorry if the question seems basic but I cannot
> > find this solution:
>
> > I have created a Posts table with the following attributs:
> > id,
> > title,
> > bodytext,
> > etc.
>
> > I now want to test the findby<fieldame> function so I create a
> > function called "findbytitle" in my posts_controller.php script.
> > This
> > function takes in a form input to retrieve the row in the table that
> > has the same title. I want then to call a "view" with the id matching
> > the title. I did:
>
> > ...
> > function findbytitle($id = null)
>
> > if ($this->Post->findByTitle($this->data['Post']['title']))
> > {
> > $var = $this->Post->findByTitle($this->data['Post']['title']);
> > $this->redirect('/posts/view/' . $var);
>
> > }
>
> > ...
>
> > but it does not work
>
> > $var is an array. in my case it is:
> > Array ( [0] => Array ( [id] => 3 [title] => Title strikes back [body]
> > => This is really exciting! Not. [created] => 2008-06-29 21:35:37
> > [modified] => 2008-06-30 22:00:25 ) )
>
> > I then tried:
> > ...
> > function findbytitle($id = null)
>
> > if ($this->Post->findByTitle($this->data['Post']['title']))
> > {
> > $var = $this->Post->findByTitle($this->data['Post']['title']);
> > $this->redirect('/posts/view/' . $var[0]['id']);
>
> > }
>
> > ...
>
> > but I got:
>
> > Notice: Undefined index: 0 in C:\Program Files\EasyPHP 2.0b1\www\cake
> > \app\controllers\posts_controller.php on line 66
>
> > I do not know how to retrieve the value of the id from the array.
>
> > I am struggling. Can someone tell mw what the right syntax is or what
> > instructions I should be using!
>
> > Many thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---