views:

1022

answers:

3

I am currently plowing my way through IBM's tutorial on CakePHP

At one point I run into this snippet of code:

<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=>, // is this allowed?
'order'=>, // same thing here
'foreignKey'=>'dealer_id')
);
}
?>

When I run it i get the following error-message: "Parse error: syntax error, unexpected ',' in /Applications/MAMP/htdocs/cakephp/app/models/product.php on line 7"

I'm a n00b at PHP so my question is: is it allowed to make an array with keys without assigned values? Has anybody played around with this tut and know what is up?

+1  A: 

It is legal, though as far as I'm aware, you have to explicitly say it's 'empty' by assigning null to it,

$hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null, // is this allowed?
'order'=> null, // same thing here
'foreignKey'=>'dealer_id'));

The example you've given sounds very wrong, and probably shouldn't work, as it isn't.

Matthew Scharley
+5  A: 

Assign the value null instead of leaving anything out. The manual says

isset() will return FALSE if testing a variable that has been set to NULL

<?php
class Dealer extends AppModel
{
var $name = 'Dealer';
var $hasMany = array ('Product' => array(
'className' => 'Product',
'conditions'=> null,
'order'=> null,
'foreignKey'=>'dealer_id')
);
}
?>

This works fine.

Vegard Larsen
A: 

Thanks for the help, guys! :)

timkl