3

このエンティティを作成しました:

<?php
namespace MyProject\MyBundle\Entity;

class User {
    private $id;

    function __construct($id) {
        $this->id = $id;
    }

    public function setName($name) {
        $sql = "UPDATE users SET name=:name WHERE id=:id";
        $stmt = $this->connection->prepare($sql);
        $stmt->execute(array('name' => '$name', 'id' => $this->id));
    }
)

そこからデータベースに接続するにはどうすればよいですか?

このコントローラーからこのエンティティーを呼び出します。

<?php
namespace MyProject\MyBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use MyProject\MyBundle\Entity;

class MyController extends Controller {
    public function indexAction() {
        $user = new User(1);
        $user->setName("Tom");
    }
}
4

2 に答える 2

2

doctrine Entity Manager http://symfony.com/doc/current/book/doctrine.html#persisting-objects-to-the-databaseを使用する必要があります

編集: モデル内でクエリを実行しないでください。エンティティ リポジトリ内では次のようにします。

public function setName(name, id)
{
    $sql = "UPDATE users SET name=:name WHERE id=:id";
    $stmt = $this->getEntityManager()
        ->getConnection()
        ->prepare($sql);

    $stmt->execute(array('name' => $name, 'id' => $id));
}
于 2013-08-03T07:37:10.200 に答える