0

extbaseを使用してデータベースクエリを実行し、データベースエントリがすでに存在するかどうかを確認するにはどうすればよいですか?私はphpでそれを行う方法を知っていますが、extbase構文ではできません。

データベースにユーザーを追加したい。それはうまくいきます。ただし、regIdがまだ存在しない場合にのみ、ユーザーを追加する必要があります。

これはこれまでの私のコードです:

/**
 * action registerDevice  
 * @param Tx_xxx_Domain_Repository_UserRepository $muserRepository 
 * @return void
 */

public function registerDeviceAction(){

    $userRepository = $this->objectManager->get('Tx_xxx_Domain_Repository_UserRepository');
    $user = $this->objectManager->create('Tx_xxx_Domain_Model_User');

    $allUser = $this->userRepository->findAll();

    if ( isset($_POST["regId"]) && $_GET['os'] ) {

        $regDevice = $_POST["regId"];
        $regMobileOs = $_GET["os"];


        $user->setMobileOs( $regMobileOs );
        $user->setFirstName('TEST');
        $user->setRegId( $regDevice );  



        $this->userRepository->add($user);

        $persistenceManager = t3lib_div::makeInstance('Tx_Extbase_Persistence_Manager');
        $persistenceManager->persistAll();


        }

    }

どうもありがとうございます!:)

よろしくお願いします

4

1 に答える 1

1

find(One)ByPropertyExtbase 1.1以降、Magicメソッドとを使用できますcountByProperty

したがって、新しいメソッドを作成せずに、次のようなものを使用できます。

if(!$this->someRepository->countByRegId($regId)) {
    // there isnt a object with $regId yet
}
于 2012-12-05T15:13:10.750 に答える