Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 条令将数据合并到实体类中_Php_Symfony_Doctrine - Fatal编程技术网

Php 条令将数据合并到实体类中

Php 条令将数据合并到实体类中,php,symfony,doctrine,Php,Symfony,Doctrine,如果有任何新名称可用,我想更新名称。所以所有的名称都存储在变量$names中,现在当我尝试将数据合并到实体中时,它总是返回一个错误-- 注意:数组到字符串的转换 我做错了什么,谁能帮我解决这个问题 $names = Array ( [0] => 11.se [1] => 22.se [2] => aa.se [4] => all.se [31] => allb.se [55] => ggg.com [56] => kkk.se [57] => ll

如果有任何新名称可用,我想更新名称。所以所有的名称都存储在变量$names中,现在当我尝试将数据合并到实体中时,它总是返回一个错误--

注意:数组到字符串的转换

我做错了什么,谁能帮我解决这个问题

$names = Array ( [0] => 11.se [1] => 22.se [2] => aa.se [4] => all.se [31] => allb.se [55] => ggg.com [56] => kkk.se [57] => lll.se [58] => mmm.se [60] => qqq.se [88] => zzz.se [89] ...


    $data = new MyNames(); // Entity class
    $data->setName($names); // set the names

    $em->merge($data); // merge the new names
    $em->flush();
实体类myclass-

/**
 * MyNames
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class MyNames
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;
属性$name包含单个名称还是多个名称?如果只包含一个名称,则该类可能应重命名为MyName

如果$name只有一个名称,则可以执行以下操作:

foreach ($names as $name) {
    $data = new MyNames();
    $data->setName($name;
    $em->merge($data);
}
$em->flush();
作为答案发布,因为评论太长:

如果$name包含数组中的所有名称,则可以执行以下操作:

$data->setName(implode(',', $data));
你没有提供太多的信息,所以可能在某个地方有陷阱。我假设这个类只是一个简化的例子。因为这没什么意义。也许您可以提供一个上下文,例如名称的用途、类中的其他数据。这将非常有助于给出更好的答案。

可能setName$name需要字符串,而不是字符串数组。您可以对数组进行foreach或更改实体,例如创建setNamesarray$names。您可能应该用MyNames类的源代码来展开您的问题