Facebookユーザーオブジェクトからデータをフェッチしている場合、誕生日フィールドの形式はMM / DD/YYYYです。教義を使用するSymfony2では、誕生日フィールドを次のように定義します。
/**
* @var \Date $birthday
*
* @ORM\Column(name="birthday", type="date", nullable=true)
*/
private $birthday;
これはデータベース上でYYYY-DD-MMの形式を生成します。Facebookの形式をsymfonyで使用できる形式にフォーマットしようとしていますが、成功しませんでした。これが私の試みです。
if(isset($fbuser["birthday"])) { //CHECK FOR FIELD birthday
$date_pz = explode('/',$fbuser["birthday"]);
// Firts try: $norm_date = array('year' => $date_pz[2], 'month' => $date_pz[0], 'day' => $date_pz[1]);
// Second try: $norm_date = $date_pz[2] .'-'. $date_pz[0] .'-'. $date_pz[1]);
$userinfo->setBirthday($norm_date); }
そして私はいつも得ています:
致命的なエラー:44行目の/var/www/vhosts/punctis.com/httpdocs/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.phpの非オブジェクトでメンバー関数format()を呼び出す
つまり、私はSymfonyが期待する形式で文字列を送信しないので、ここでの質問は、それをどのようにフォーマットするかということです。