Whichever method you use (see later notes) $title is an array. To see it's 
structure, type this immediately after the find:

die(debug($title));

That prints $title to screen, and I'm guessing it will look something like this:

Array(
        ['Project' ] => Array(
                ['title'] => value
                [fieldname] => value
                repeat...
        )
)

So to get the actual title of the Project you change your code to:

$this->Session->setFlash(__("Project $title['Project']['title'] deleted"));

Notes: your find methods aren't quite right:

$title = $this->Project->read('title'); should be $title = 
$this->Project->read(null, $id); (where $id is the id of the Project you want 
to read)
$title = $this->Project->find('first', array('fields' => 
array('Project.title'), 'conditions' => array('Project.id' => $id))); <= this 
is the way to go
$title = $this->Project->query("SELECT `title` FROM `Projects` WHERE 
`id`=$id"); <= the query method is for last-ditch-all-hope-is-lost cases only

Bear in mind that if you've just deleted the Project none of those methods will 
return an results, so the $title array will be empty. Presumably you're doing 
the find before the delete.

If you only want to get a single field (rather than a whole record) consider 
this instead:

$title = $this->Project->field('title', array('Project.id' => $id));  -- then 
$title will be equal to the title of your project (i.e. it's not an array).

Jeremy Burns
Class Outfit

http://www.classoutfit.com

On 18 Oct 2012, at 10:12:42, Cody Sortore <[email protected]> wrote:

> Okay, I'm a bit of a noob, but I've been messing with this all night and 
> cannot figure it out.  I've had this problem before, but just figured out 
> what my problem is, and although this particular issue isn't pressing, 
> because I plan to use a similar item in the future I would like to understand 
> what I'm missing here.
> 
> I'm looking for a way to read a single item from the database, I can pass it 
> to the view rather easily, but reading it in the same controller is 
> confounding me.
> 
> I've tried:
> 
> $title = $this->Project->read('title');
> $title = $this->Project->find('first', array('fields' => 
> array('Project.title'), 'conditions' => array('Project.id' => $id)));
> $title = $this->Project->query("SELECT `title` FROM `Projects` WHERE 
> `id`=$id");
> 
> All I'm trying to do is display a message that says "Hey you deleted this 
> project" later I have
> 
> $this->Session->setFlash(__("Project $title deleted"));
> 
> However, when the message flashes all I see "Project Array deleted" with all 
> three examples.  I understand what it's doing... I just don't understand 
> why... how do I select the actual "title" from the array, instead of the 
> entire array?
> 
> Using CakePHP 2.x if it makes a difference in this instance.
> 
> 
> -- 
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>  
> --- 
> 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].
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>  
>  

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
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].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to