рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП PHP рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реА, рд╡рд┐рд╡рд░рдг, рдЕрд╡рд╕рд░,
рд╣рдм рдкрд░ рдПрдХ
рд╕рд░реНрд╡реЗрдХреНрд╖рдг (рдЬрд┐рд╕рдореЗрдВ, рд╡реИрд╕реЗ, рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рдХреА рдорд╛рддреНрд░рд╛ 100% рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди 143% (?)) Yii рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдврд╛рдВрдЪреЗ рдиреЗ рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдХреИрдкреНрдЪрд╛ред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╣рддреА рд╣реИ:
Yii рдмрдбрд╝реЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди, рдШрдЯрдХ-рдЖрдзрд╛рд░рд┐рдд PHP рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдХреЛрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рдлреА рддреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, Yii рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд░рд┐рдЪрд┐рдд, рдЬреЛ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ, рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд░реЛрдд рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рд╛ред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП
Gii рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЙрдбрд▓ рдФрд░ CRUD рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ - рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рд▓реЗрдХрд┐рди MySQL рдХреЗ рд▓рд┐рдПред рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдореИрдВ рдореЙрдбрд▓ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВ, рдкреНрд▓реЗрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ: "рддрд╛рд▓рд┐рдХрд╛ 'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред" рдпрд╣ рдЕрдЬреАрдм рд╣реИред рд╢рд╛рдпрдж рдХреБрдЫ рдЧрд▓рдд рд╣реИред рд▓рдЧрднрдЧ рдПрдХ рдШрдВрдЯреЗ рдореИрдВрдиреЗ рдореИрдиреБрдЕрд▓ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХреА - рд╕рдм рдХреБрдЫ рд╣рд░ рдХрд┐рд╕реА рдХреА рддрд░рд╣ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
$connection=Yii::app()->db; $sql="SELECT * FROM user"; $dataReader=$connection->createCommand($sql)->query(); while(($row=$dataReader->read())!==false) { echo var_dump($row); }
рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ Gii рдиреЗ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рджреЗрдЦреАред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░, рд╕рд╛рдЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ MySQL рдореЗрдВ рдиреЗрдордкреНрд▓реЗрдЯ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдЗрди рджреЛ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЬреАрдЖрдИрдЖрдИ рдХреИрд╕реЗ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдЯреИрдмрд▓реЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЛ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рд╡рд┐рднрд┐рдиреНрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рддреЛ рдбрд┐рдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдиреЗ рдЙрд╕ рд╕реНрдерд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрдбрд╝реЛрд╕ рдореЗрдВ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдерд╛ рдЬрд┐рд╕рдиреЗ рдкреНрд▓реЗрдЯ рдХреЗ рдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХреА рдФрд░ рдЗрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реА рддреНрд░реБрдЯрд┐ рджреАред Var_dumps рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛:
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо | рд╕рдорд╛рд░реЛрд╣ |
/yii/framework/gii/generators/model/ModelCode.php | validateTableName |
/yii/framework/gii/generators/model/ModelCode.php | getTableSchema |
/yii/framework/db/schema/CDbSchema.php | gettable |
/yii/framework/db/schema/mysql/CMysqlSchema.php | loadTable |
/yii/framework/db/schema/mysql/CMysqlSchema.php | findColumns |
рдирддреАрдЬрддрди, рдХреЛрдб рдЦреЛрдЬ рдХрд╛рд░реНрдп рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛:
protected function findColumns($table) { $sql='SHOW FULL COLUMNS FROM '.$table->rawName; try { $columns=$this->getDbConnection()->createCommand($sql)->queryAll(); } catch(Exception $e) { return false;
рд╣рд╛рдБ, рд╣рд╛рдБ! рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреА рдХреЛрдИ рднреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ, рдмрд╕ рдЭреВрдареЗ рд╡рд╛рдкрд╕ рд▓реМрдЯрддреЗ рд╣реИрдВ (рдЬреЛ, рд╡реИрд╕реЗ, рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛)ред рдЧрд▓рдд рд▓реМрдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдФрд░ var_dump рдЬреЛрдбрд╝рдХрд░, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ MySQL рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ: рдлрд╝рд╛рдЗрд▓ / var / tmp / mysql рдмрдирд╛рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред (рдЗрд░реЛрдб: 2)ред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдиреЗ рдореЗрд░реА рдорджрдж рдХреАред
рд╡реИрд╕реЗ, рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ рдореИрдВ PHP рдореЗрдВ рдирдпрд╛ рд╣реВрдБред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рд╕рд╣рдХрд░реНрдореА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗред рд╕рд▓рд╛рд╣ рд╕реБрдирдХрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред рдЕрдкрдиреЗ рд▓рд┐рдП, рдореИрдВ рдбрд┐рдмрдЧ рдореЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП Yii рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЬреЛ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреА рдкреНрд▓реЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдЧрдпрд╛ рдерд╛ =)