我将$data
作为参数传递给模型中的setter函数。 var_dump($data)
给出了
array(2) {
["iconUrl"]=>
string(31) "C:\fakepath\photo-125301449.jpg"
["title"]=>
string(8) "Example1"
}
array(2) {
["iconUrl"]=>
string(30) "C:\fakepath\photo-71823413.jpg"
["title"]=>
string(12) "Example2"
}
然后我在setter函数
中执行foreach
foreach($data as $val) {
$this->goalLink = [
'iconUrl' => $val['iconUrl'],
'title' => $val['title']
];
}
构造函数定义如下
protected $goalLink = [];
public function __construct() {
$this->goalLink = [
[
'iconUrl' => null,
'title' => null
]
];
}
然后最后有一个createNew()
将数据发送到我的API
$client = API::client();
$url = API::url('exampleURL');
$data = [
'goalLink' => [
'iconUrl' => $this->goalLink['iconUrl'],
'title' => $this->goalLink['title']
]
];
$response = $client->post($url, ['json' => $data]);
现在问题是没有正确保存的数据只保存了第二个数组中的数据。某处数据被覆盖。
这是我从API获得的回复
goalLink":[{"iconUrl":"C:\\fakepath\\photo-71823413.jpg","title":"Example2"}]
但它实际上应该像这样保存
goaloalLink":[{"iconUrl":"C:\fakepath\photo-125301449.jpg","title":"Example1"}, {"iconUrl":"C:\\fakepath\\photo-71823413.jpg","title":"Example2"}]