जैसा कि दस्तावेज़ीकरण में बताया गया है:
public array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_args = array() ]]] )
ctor_args
Arguments of custom class constructor when the fetch_style parameter is PDO::FETCH_CLASS.
वही तर्क setFetchMode . के लिए उपलब्ध है
public bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
मैं इसे तदनुसार लागू करूंगा:
पहले एक प्रॉपर्टी जोड़ें $ctorArgs से \Core\Model
null
. के डिफ़ॉल्ट मान के साथ .वर्तमान setFetchMode . की जगह लेने के बाद कॉल
if (!is_array($this->ctorArgs)) throw new \Excpeption("\"ctorArgs\" must be of type array");
$stm->setFetchMode(PDO::FETCH_CLASS, get_called_class(), $this->ctorArgs);
और अंत में एक प्रॉपर्टी जोड़ें $ctorArgs से \App\Models\Admin\Photo
array("picture")
. के डिफ़ॉल्ट मान के साथ ।
यह कोड को बताएगा कि आपका कंस्ट्रक्टर पैरामीटर की अपेक्षा कर रहा है $चित्र ।
मैं एक संपत्ति के बजाय एक स्थिरांक का उपयोग करने के बारे में सोचूंगा, लेकिन यह इस बात पर निर्भर करता है कि आप इसे कैसे लागू करने का निर्णय लेते हैं।