'int', 'title' => 'string', 'levels' => 'array', 'goalOption' => 'bool', 'totalNumberOfDonations' => 'int', 'totalAmountDonated' => Money::class, 'createdAt' => DateTime::class, 'updatedAt' => DateTime::class, 'status' => DonationFormStatus::class, 'goalSettings' => GoalSettings::class, 'usesFormBuilder' => 'bool', 'campaignId' => 'int', ]; /** * @inheritdoc */ protected $relationships = [ 'donations' => Relationship::HAS_MANY, ]; /** * @since 2.24.0 * * @param $id * * @return DonationForm|null */ public static function find($id) { return give()->donationForms->getById($id); } /** * @since 2.24.0 * * @return ModelQueryBuilder */ public static function query(): ModelQueryBuilder { return give()->donationForms->prepareQuery(); } /** * @since 2.24.0 * * @param object $object * * @return DonationForm */ public static function fromQueryBuilderObject($object): DonationForm { return DonationFormQueryData::fromObject($object)->toDonationForm(); } /** * @since 4.2.0 */ public function toV3Form(): ModelsDonationForm { return (new ConvertV2FormToV3Form($this))(); } }