我正在尝试为cakephp中的save()函数打包一些数据。我是PHP的新手,所以我对如何在代码中实际编写以下代码感到困惑:
Array
(
[ModelName] => Array
(
[fieldname1] => 'value'
[fieldname2] => 'value'
)
)
谢谢!
答案 0 :(得分:8)
要回答您的问题,您可以创建所需的数组结构,并通过执行以下操作进行保存:
<?php
$data = array(
'ModelName' => array(
'fieldname1' => 'value',
'fieldname2' => 'value'
)
);
$this->ModelName->save($data);
?>
请注意: 根据您在评论中的上述内容,您似乎没有遵守CakePHP惯例。有可能以这种方式做事,但如果你决定尽可能地坚持使用CakePHP默认值,那么你将节省很多时间和麻烦,并且只有在你有充分理由的时候才能以自己的方式做到。
要记住的几件事情是:
id
,而不是followers_id
,并且应在数据库中设置为PRIMARY KEY和AUTO_INCREMENT。如果你决定不遵守这些约定,你可能会发现自己摸不着头脑,想知道为什么事情不起作用,每一步都是如此。请尝试查看CakePHP documentation以获取更多详细信息。
答案 1 :(得分:3)
我认为您需要执行以下操作:
$this->Followers->create();
$this->data['Followers']['user_id'] = $user_id;
$this->data['Followers']['follower_id'] = $follower_id; // If it is primary and auto increment than you don't need this line.
$this->Followers->save($this->data)