×ðÁú¿­Ê±

laravelŲÓô洢Àú³Ì

ÔÚlaravel¿ª·¢ÖÐ  £¬´æ´¢Àú³ÌÊÇÊý¾Ý¿âµÄÒ»¸öÖ÷Òª×é³É²¿·Ö  £¬Ëü¿ÉÒÔ×ÊÖúÎÒÃǸüºÃµØÖÎÀíÊý¾Ý¿â  £¬Ìá¸ßÅÌÎÊЧÂÊ  £¬ïÔÌ­´úÂëÂß¼­ºÍÊý¾Ý¿âÅþÁ¬Á¿µÈ·½ÃæµÄÎÊÌâ¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚlaravelÓ¦ÓóÌÐòÖÐŲÓô洢Àú³Ì¡£

Ò»¡¢Ê²Ã´ÊÇ´æ´¢Àú³Ì

´æ´¢Àú³ÌÊÇÒ»×éÔ¤±àÒëµÄSQLÓï¾ä  £¬Ëü±»ÉúÑÄÔÚÊý¾Ý¿âÖÐ  £¬²¢×÷Ϊ¿ÉÖظ´Ê¹ÓõÄÀú³Ì»òº¯ÊýŲÓá£ÓëSQLÓï¾ä²î±ð  £¬´æ´¢Àú³Ì°üÀ¨¿ØÖÆÂß¼­ºÍSQLÓï¾ä  £¬¿ÉÒÔ½ÓÊܲÎÊý¡¢·µ»Ø¶à¸öÖµ  £¬Ò²¿ÉÒÔʹÓÃÔÝʱ±íµÈ¡£´æ´¢Àú³Ì¿ÉÒÔÌá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺÍÇå¾²ÐÔ  £¬¼ò»¯Ó¦ÓóÌÐòµÄÖØ´óÐÔ  £¬²¢ïÔÌ­Êý¾Ý¿âºÍÓ¦ÓóÌÐòÖ®¼äµÄÍù·µÍ¨Ñ¶¡£

¶þ¡¢½¨Éè´æ´¢Àú³Ì

ÔÚMySQLÖÐ  £¬½¨Éè´æ´¢Àú³ÌÐèҪʹÓÃCREATE PROCEDUREÓï¾ä  £¬Óï·¨ÈçÏ£º

CREATE PROCEDURE procedure_name ([IN | OUT | INOUT] parameter_name data_type [(length)],...)
[SQLÓï¾ä]

µÇ¼ºó¸´ÖÆ

ÆäÖÐ  £¬procedure_nameÊÇ´æ´¢Àú³ÌÃû³Æ  £¬parameter_nameÌåÏÖ²ÎÊýÃû³Æ  £¬data_typeÌåÏÖ²ÎÊýÊý¾ÝÀàÐÍ  £¬lengthÌåÏÖÊý¾Ý³¤¶È¡£²ÎÊý¿ÉÒÔÊÇINÌåÏÖÊäÈë²ÎÊý£¨Ö»ÄܽøÈë´æ´¢Àú³ÌʹÓã©  £¬OUTÌåÏÖÊä³ö²ÎÊý£¨Ö»ÄÜͨ¹ý´æ´¢Àú³Ì»ñÈ¡Êý¾Ý£©  £¬INOUTÌåÏּȿÉÒÔÊäÈëÓÖ¿ÉÒÔÊä³ö¡£

ÀýÈç  £¬ÎÒÃǽ¨ÉèÒ»¸ö»ñÈ¡Óû§ÐÅÏ¢µÄ´æ´¢Àú³ÌgetUserInfo  £¬´úÂëÈçÏ£º

CREATE PROCEDURE getUserInfo(IN userId INT)
BEGIN
    SELECT * FROM users WHERE id = userId;
END

µÇ¼ºó¸´ÖÆ

ͨ¹ý¸Ã´æ´¢Àú³Ì  £¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡µ½Ö¸¶¨idµÄÓû§ÐÅÏ¢¡£

Èý¡¢Å²Óô洢Àú³Ì

ÔÚLaravelÖÐ  £¬ÎÒÃÇ¿ÉÒÔʹÓÃDBÃÅÃæÌṩҪÁìDB::selectÀ´Ö´Ðд洢Àú³Ì  £¬ÀýÈ磺

$result = DB::select("CALL getUserInfo(1)");

µÇ¼ºó¸´ÖÆ

ÕâÀïÎÒÃÇÒÔ»ñÈ¡idΪ1µÄÓû§ÐÅϢΪÀý  £¬Í¨¹ýCALLÓï¾äÀ´Å²ÓÃÒѽ¨ÉèµÄgetUserInfo´æ´¢Àú³Ì¡£Å²ÓÃÀֳɺó  £¬$result»á·µ»ØÒ»¸ö°üÀ¨Óû§ÐÅÏ¢µÄ¹¤¾ß¡£

ÈôÊÇÐèҪת´ï²ÎÊý  £¬¿ÉÒÔʹÓÃռλ·û  £¬ÀýÈ磺

$result = DB::select("CALL getUserInfo(?)", [1]);

µÇ¼ºó¸´ÖÆ

ÕâÀïµÄռλ·ûÊÇÎʺÅ  £¬µÚ¶þ¸ö²ÎÊýÊÇÊý×éÐÎʽ  £¬ÐèÒª¶ÔÓ¦¸øÎʺŸ³Öµ¡£

ÖµµÃ×¢ÖصÄÊÇ  £¬ÓÐЩ´æ´¢Àú³ÌÐèÒª·µ»ØЧ¹û¼¯  £¬¶øÓÐЩֻÐèÒªÖ´Ðиüлò²åÈë²Ù×÷  £¬Í¨¹ýDBÃÅÃæÌṩҪÁìDB::statement¿ÉÖ±½ÓŲÓà  £¬ÀýÈ磺

DB::statement("CALL updateUser(1, 'John')");

µÇ¼ºó¸´ÖÆ

ÕâÀïÎÒÃÇŲÓõÄÊÇupdateUser´æ´¢Àú³Ì  £¬¸üÐÂidΪ1µÄÓû§ÐÅÏ¢  £¬²»±£´æ·µ»ØЧ¹û¼¯ÇéÐΡ£

ËÄ¡¢Ê¹ÓÃORMŲÓô洢Àú³Ì

³ýÁËͨ¹ýDBÃÅÃæŲÓô洢Àú³Ì  £¬LaravelµÄORMÒ²ÌṩÁËŲÓô洢Àú³ÌµÄÒªÁì  £¬Óï·¨ÈçÏ£º

$results = User::hydrate(
    DB::select("CALL getUserInfo(?)", array($id))
);

µÇ¼ºó¸´ÖÆ

ÆäÖÐ  £¬User´ú±íÓû§±í¡£´ËÒªÁìÓëDB::selectÒªÁìÀàËÆ  £¬Í¨¹ýת´ï²ÎÊýÀ´Å²ÓÃgetUserInfo´æ´¢Àú³Ì  £¬²¢Í¨¹ýhydrateÒªÁ콫Ч¹û´æÈëÄ£×ÓÖС£

×ܽá

LaravelÌṩÁËÀû±ãµÄÒªÁìÀ´Å²Óô洢Àú³Ì¡£Í¨¹ýDBÃÅÃæºÍORM  £¬¿ÉÒÔÖ±½Óͨ¹ýCALLÓï¾äŲÓÃÒѽ¨ÉèµÄ´æ´¢Àú³Ì  £¬²¢»ñÈ¡·µ»ØЧ¹û¼¯»ò¸üÐÂÊý¾Ý¡£´æ´¢Àú³Ì¿ÉÒÔ×ÊÖúÎÒÃǸüºÃµØÖÎÀíÊý¾Ý¿â  £¬Ìá¸ßÓ¦ÓóÌÐòµÄÐÔÄܺÍÇå¾²ÐÔ  £¬Ò²¿ÉÒÔ¼ò»¯Ó¦ÓóÌÐòµÄÖØ´óÐÔ¡£

ÒÔÉϾÍÊÇlaravelŲÓô洢Àú³ÌµÄÏêϸÄÚÈÝ  £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí  £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø  £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±ÂËÓÍ»úÍø¹Ù·½Ì¬¶È  £¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ  £¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢  £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢  £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±ÊµÊ±ÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå  £¬9:30-18:30  £¬½ÚãåÈÕÐÝÏ¢

QR code
¡¾ÍøÕ¾µØͼ¡¿¡¾sitemap¡¿