라이브러리

[PHP] TableUpdate::limit - 업데이트 행 개수 제한




TableUpdate::limit

TableUpdate::limit은 PHP의 Doctrine ORM에서 사용하는 메소드입니다. 이 메소드는 특정한 레코드의 갯수를 제한하여 업데이트 할 수 있도록 도와줍니다.

사용법


TableUpdate::limit 메소드는 다음과 같이 사용할 수 있습니다.

#hostingforum.kr
php

use DoctrineORMQueryQueryException;

use DoctrineORMQueryQueryExceptionLimitException;



// ...



$entityManager = $this->getDoctrine()->getManager();

$repository = $entityManager->getRepository('EntityName');



// 특정한 레코드의 갯수를 제한하여 업데이트

$query = $repository->createQueryBuilder('e')

    ->update('EntityName', 'e')

    ->set('e.field1', 'value1')

    ->set('e.field2', 'value2')

    ->limit(10)

    ->getQuery()

    ->execute();



예제


다음은 TableUpdate::limit 메소드를 사용하여 특정한 레코드의 갯수를 제한하여 업데이트 하는 예제입니다.

#hostingforum.kr
php

// EntityName.php

namespace AppEntity;



use DoctrineORMMapping as ORM;



/

 * @ORMEntity

 */

class EntityName

{

    

     * @ORMId

     * @ORMGeneratedValue

     * @ORMColumn(type="integer")

     */

    private $id;



    /

     * @ORMColumn(type="string", length=255)

     */

    private $field1;



    

     * @ORMColumn(type="string", length=255)

     */

    private $field2;



    // ...

}



#hostingforum.kr
php

// EntityNameRepository.php

namespace AppRepository;



use AppEntityEntityName;

use DoctrineORMEntityManagerInterface;

use DoctrineORMEntityRepository;



class EntityNameRepository extends EntityRepository

{

    public function updateEntityName(int $limit)

    {

        $entityManager = $this->getEntityManager();

        $repository = $entityManager->getRepository('EntityName');



        $query = $repository->createQueryBuilder('e')

            ->update('EntityName', 'e')

            ->set('e.field1', 'value1')

            ->set('e.field2', 'value2')

            ->limit($limit)

            ->getQuery()

            ->execute();



        return $query;

    }

}



#hostingforum.kr
php

// Controller.php

namespace AppController;



use SymfonyComponentHttpFoundationResponse;

use AppRepositoryEntityNameRepository;



class Controller extends Controller

{

    public function updateEntityName(int $limit)

    {

        $repository = new EntityNameRepository();

        $query = $repository->updateEntityName($limit);



        return new Response('업데이트 된 레코드의 갯수: ' . $query);

    }

}



참고


TableUpdate::limit 메소드는 특정한 레코드의 갯수를 제한하여 업데이트 할 수 있도록 도와줍니다. 이 메소드는 Doctrine ORM의 QueryBuilder를 사용하여 작성할 수 있습니다.

이 메소드는 다음과 같은 경우에 사용할 수 있습니다.

* 특정한 레코드의 갯수를 제한하여 업데이트 할 때
* 업데이트 할 레코드의 갯수를 제한하여 업데이트 할 때

TableUpdate::limit 메소드는 다음과 같은 예외를 발생시킬 수 있습니다.

* LimitException: limit 메소드가 잘못된 경우 발생합니다.

이 메소드는 다음과 같은 장점을 가지고 있습니다.

* 특정한 레코드의 갯수를 제한하여 업데이트 할 수 있습니다.
* 업데이트 할 레코드의 갯수를 제한하여 업데이트 할 수 있습니다.

이 메소드는 다음과 같은 단점을 가지고 있습니다.

* QueryBuilder를 사용하여 작성해야 하므로 복잡한 쿼리를 작성할 수 있습니다.
* limit 메소드가 잘못된 경우 LimitException이 발생할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 154 페이지

검색

게시물 검색