版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、laravel - 藝術1何安裝1.1 arave 再牛,也是 結寫的一堆代碼arave 文件文件 說明他需要依賴很多1.2四種該如何安裝,網上你大概能找到laravel - 藝術1何安裝1.1 arave 再牛,也是 結寫的一堆代碼arave 文件文件 說明他需要依賴很多1.2四種該如何安裝,網上你大概能找到4種方法,但你不要去死記從原理推出完整的laravel = laravel本er指定的依賴所以你至少可以有這4種辦法用er create project命令自arave ,同時自動安裝依賴別人幫我拼裝好的laravel本身 er中指定的在這arave .com/down er安裝依賴庫(
2、何苦半自動本/arave/arave到下 執(zhí)3. larvel安裝器,可以幫你完成這兩步()1.3 修改權在 nux下使arave ,1.4配置od o rwx /storage od o rwx /bootstrap/cache # 安裝“l(fā)aravel安裝器”(不是er global require laravel/installer cd /rlc/nginx/htmer/vendor/bin/laravel new you er i staller create project er.jso/co /p pu .m/ve 在ng nx中,配置server段,指向. 要做的p2p金為例在
3、apache中aRoot Dwwwretpb在ng nx中,配置server段,指向. 要做的p2p金為例在apache中aRoot DwwwretpbV1.5 配置簡潔對于apache,需要開啟rwrt 寫模塊在 ttp.co f中,把下一行前去在/public創(chuàng)建s文件,內容如下Oton ooSLkserteEgin OnRreCon %REQUEST FLMRerteCo %REQUEST LEAMerteRl 如果仍不可以,找如下代碼,把No e改為# owOvr co trols w at directives may be placed i . tac # It ca be All
4、, No e, or a y ob atio of t e keywords:s Alovrr ileI fo o fig Lmllowved No 對于ng nx,在虛擬主機配置段中加ngnx實例1.6 可能*1Whoops, ooks kesomethngwentarave的配置文件叫.env;cp .e le .e 2. No supported encrypter Ru tiExet i E cryptio Service pNo supported e crypter fou e cip er a d / or key le gt are i 原因: arave 需要定義一個key,
5、用于作密鑰用,但沒生成這個key.解決:p p artsia key:ge erate 生成keylocatio / lj ro try files $uri $uri/ /i dex.p p?$query stri g; i dex i dex.pex. tm i dex. tm;location / try files $uri $uri/ ?$query oao rrt ol modlsmo wreslocatio / l/ulci dex i ex. tm i dex. 2. 服務器 這種情況下,首先確然后問題應該出現(xiàn)環(huán)境是正確的,虛擬主2. 服務器 這種情況下,首先確然后問題應該出現(xiàn)
6、環(huán)境是正確的,虛擬主機配置也正常的權限上請按1.3章節(jié)繼續(xù)操作2由2.1 路由arave 的路由器與控制器的關系,需要明確的在文件中明確定義p格式如下2.2 路由下例是/user/123這樣的user后面的值將會捕捉到并自動傳遞給控制器的方法Route:get( user/id 函fu ($id) User 2.3傳遞Route:get( user/ am? , fu ctio ($ ame = ull) retur $ ae下例是/cat/cat/page/page這樣的URL,cat后的參數(shù)和page后的參數(shù)捉到,并自動傳遞給控制器的方法函Route:get( cat/cat/page/p
7、age , fu ctio ($catid, $pageid) /下例指: 當用GET方/yy 這個地址時,用Xxoro中的reg()方法去響應/Route:get( /yy , xotrorr /當T方/zz 這個地址時,用Xxoro中的pay()方法去響應/t( /zz , ay/當/時,用第2個參數(shù)函數(shù)去響應/Route:get( / , function o /xmtot:mth( get ,t , /user , Xxotrrmt )/任何方/foo/bar,都用第2個參數(shù)中函數(shù)去響應/Route:any( /foo/bar , function o Wor 2.4參數(shù)限在TP中,自
8、動驗證寫在Mode 里,不夠靈活. arave 把參數(shù)限制寫在方法里Route:get( user/ am , fu ctio ($ am ) w ere( 2.4參數(shù)限在TP中,自動驗證寫在Mode 里,不夠靈活. arave 把參數(shù)限制寫在方法里Route:get( user/ am , fu ctio ($ am ) w ere( ame , A Za z Route:get( user/id , fu ctio ($id) ) w ere( id , 0 9 Route:get( user/id/ am , fu ctio ($id, $ am ) w ere( id = 0 9 am
9、e = a z 注意:路由參數(shù)不能包含中橫線-想想變量名規(guī)范.3制3.1 控制器放在哪兒控制器放在 /app/Http/Co 下3.2 控制器文件叫什么3.3 控制器類叫什么?命名空間叫什么?繼承自誰類叫XxCo 命名空間是 AppHttpCo 繼承自AppHttpCo tllerC 4章 模板操4.1 模板放在哪兒模板放在vw下4.2叫什么xx.p p,或xx.blade.p 如果以.p p結尾,模板中直接語法即可,例rets id $table mpublic function m:rop goods 5.5 遷移https:/ arave .com/docs/5.1/mgrat 常見列類
10、型一覽常d$table bg creme ts( id IncrementngID(prmarykey) usnga UNSIGNED EGERequva$table bg teger( votes equvaentforthe $table bi ary( data BLOBequva5.5 遷移https:/ arave .com/docs/5.1/mgrat 常見列類型一覽常d$table bg creme ts( id IncrementngID(prmarykey) usnga UNSIGNED EGERequva$table bg teger( votes equvaentfort
11、he $table bi ary( data BLOBequvaentforthe$table boolea ( co re equvaent for the $table c ar( ame , CHARequvaent$table date( created at DATEequvaentforthe$table date m created at DATETIME equvaent for the $table ecal amou t , 5, DECIMALequvaentprecsonandsca$table double( lu , 15, DOUBLEequvaentwthpre
12、cson,15dgts ntota and8afterthedecma po$table e um c , foo , bar );ENUMequ vaent forthe $table float( amou t FLOATequvaentforthe$table i creme ts( id IncrementngID(prmarykey) usnga EGER equva$table i teger( votes EGERequ vaent for the $table jso ( optio s JSONequvaent for the $table jso b( optio s JS
13、ONBequ vaentforthe $table lo g ext( descriptio LONGTEXTequ vaent for the $table edu teger( uber equvaentforthe$table medu ext( descriptio MEDIUMTEXT equvaent forthe $table morp s( taggable EGERtaggable idandSTRINGtaggable $table ullable Sameas tmt s(),excepta ows$table remember oke Addsremember toke
14、 asVARCHAR(100)$table smll teger( votes equvaent forthe$table oDltsAddsdeleted at coumnforsoftde$table stri g( );VARCHAR equvaent co$table stri g( ame , VARCHAR equ vaent $table text( descriptio TEXTequvaentforthe$table te su rise TIMEequvaentforthe$table ti yI teger( umbers $table tm( added o $tabl
15、e tsAdds created at and updated at co$table uuid( id UUIDequvaentforthe 用列修改方法按MVC的架構,數(shù)據(jù)庫的操作大部分應放在Mode 中但如果不用Mode 也可以用arave 的DB類操作數(shù)據(jù)庫而且,如果某些極其復雜的sq ,用Mode 已經很難表達,要手寫sq 也需要用DB類去執(zhí)行原生sq DB類的基本用法: 按MVC的架構,數(shù)據(jù)庫的操作大部分應放在Mode 中但如果不用Mode 也可以用arave 的DB類操作數(shù)據(jù)庫而且,如果某些極其復雜的sq ,用Mode 已經很難表達,要手寫sq 也需要用DB類去執(zhí)行原生sq DB
16、類的基本用法: :ale users ) 獲取操作users表的實例6.1單行 (注意看數(shù)組的鍵DB:table( users ) i i sert()方法返回值為true 多行 數(shù)組DB:table( users ) i = 后返回主鍵值 獲取主鍵值,用i srGed()方DBtal users ) i G(6.2典型修改 Btal users ) w ere( id , 1) update( age = 19) 相當于;某字段增長或減少 DBtal users ) w ere( id ,1) i creme t( age ); DBtal users ) w ere( id ,2) i c
17、reme t( age , 3); DBtal users ) w ere( id ,3) decreme t( age ); DBtal users ) w ere( id ,4) decreme t( age , 3);6.36.4/ select * fo users; DB:table( users ) get();Bta users ) w ere( id , , 6 ) update users set age=19 w ere Pacethecoumnfrst nthetabeOnafter( lu PacethecoumnafteranothercoumnOnA owNULLv
18、auestobe nserted ntotheco SpecfyadefautvaueforthecoSeti tegercoumnsUGEu sig Sc ea:be users , fu ctio ($table) $table stri ) 注意:,.7章 完整的增刪改7.1程序規(guī)GET /msg/ ndex 展示留言列GETmsg/add展示表T /msg/add注意:,.7章 完整的增刪改7.1程序規(guī)GET /msg/ ndex 展示留言列GETmsg/add展示表T /msg/add 接T數(shù)據(jù),并入GETmsg/ded刪除留按規(guī)劃寫如下路由Route:get( g/ dex , M
19、sgCo rler dex ); Route:get( msg/add , MsgCo rollra );t( msg/add , MsgCo trllra ost Route:get( sg/e/i MsgCo trllr ou:ma ( get t , g/upd , MsgCo rollru 數(shù)據(jù)遷生成遷移文2. 編輯遷移文public function up() em:rt msgs , function $table rets id $table string( title $table string( content $table eger( pbt $table mpublic
20、function m:ropmsgs$table) 1. 執(zhí)行遷移 p p artisa mg7.3發(fā)布留表單namespace pptptrruse ApptpCrlrsCnrlruse DB;class gControleextends Conrol public function add() ie msg.add p p mkmrtcreate msgs =/ select * fo user w ere id Bta users ) w ere( id , 6) / select fo users w ere id Bta users ) select( id ) w ere( id
21、, 6) / select * fo users w ere id=6 取出單行,返DBtal users ) w ere( id ,6) 發(fā)布頁提交出錯oke mat Exceptio i VeryCr oke .p發(fā)布頁提交出錯oke mat Exceptio i VeryCr oke .p 不要驚慌,這是因為arave 自帶防站外提交(Csrf)的功能原理:加入某個特征串,T接收頁面檢測此特征串解決: 在表單中,加入這個特征串就行了i put type= idde ame toke value=?p p ec o csrf toke (); 列表頁public fu ctio i dex
22、() $msgs = Btal msgs ) retur vw mg. dex , msgs =$ 所有留言/ 標題內容操作?p p foreac $sg as $ title;? co te 刪除a =/sgu/修改?p p w ere( id ,$id) delete() retur redirect( sg/ dex else del error public fu t() $rs = D:tale msgs ) i sert( title =$ OS title , co te t =$ OS co te t );retur $rs ? OK : fail / mlt rerremmm
23、eta charset=utf laravel添加留言r action= dinput type=text m=textareattxtr 天氣$data = title = 天氣預報 , content今天天氣真不錯, score =mt rand(40,90),users= zhangsan ,lisi ,wangwureturn vw test ew xx , smat assig ( title = 今天天氣不錯 smat assig ( co te t = 溫度零上13度 public function up($id) if( empty($T) ) $msg = DBtblmsgs
24、 ) where( id ,$id) return vwm., msg mg)else $rs B:abmsgs)where(id,$id)update( ti tle =$T title ,content T content return $rs ? OK : false meta charset=utf laravel修改留言r action= dinput type=text am=ite echo $msg echo $msg input type=hidden ae token echo csrf token(); = e du 8.5 for循for ($i=0; $i= e du
25、 8.5 for循for ($i=0; $i10; $i $i e dfor8.6 foreach循foreac ($users as $u e dforeac8.7 forelse 循環(huán)是否為空8.8模板包 clude( sub ) 包含vs下的sub.blade.p 8.9模板繼頭部和尾部都一樣,就中間的左右內容不一樣用i clude模板來做,是把頭尾拿出來 eader,footer拿出來然后 clude( eader ), clude( footer )需要 clude兩次,而繼承則是把 eader/footer 公共框架寫在父模板中,繼承一次父模板模板繼承的概念和象的繼承非常相似,看下
26、例os ( as e ($score = ls ($score = le ( express) # 注意express兩邊加ele (express) # 表達示le 父模板中有2個eftside,rig 子模板繼承父模板,并寫leftside,rig tside方法,則獲父模板中有2個eftside,rig 子模板繼承父模板,并寫leftside,rig tside方法,則獲得子類的特定輸出根據(jù)象的知識,子模板的同名方法覆蓋父類方法同時,子類rig tside方法因此,顯示結果為的父類方法8.10 為防止blade模板去,前面加符號邊界.例8.11 模板輸出已自動防 code = alert
27、(1) 輸出到v ew;/s如果確實不需要實體轉義,可以加.(個大括號,不是兩個例:!$oder父模板 pare t.blase.p meta c arset=utf so left so rig tpare t rig exte ds( pare t )sec( leftside ) so lefte sec( rig tside ) so rig tpare t e 父模板 pare t.blase.p meta c arset=utf sct ( leftside )t is is pare t left s ow sct ( rig tside )t is is pare t rig
28、t s ow ,3) public function add() $msg = new $msg title = T title $msg content= $T title ; return $msg save() ? OK : fail ;:find($id); / 得到Xx表的,且與$id行數(shù)據(jù)對應namespace use ttclass Msg extends lu ateDatabaseEloque 9.7public function up($id) if( T) ) $msg = f$return viw sg9.7public function up($id) if( T)
29、) $msg = f$return viw sg , msg else $msg = f$msg title = T title $msg content= T content return $msg save()? OK : fail 9.8public function del($id) $msg = sgfi$;return $msg delete() ?:fail 9.9復雜查排序* 限制條目統(tǒng)分組(錯分組(對/ 用DB:raw()方法,raw是,不修飾的意Goods:groupBy( cat id ) get( cat id ,DB:raw( avg(price) ) 更復雜的查詢表
30、達式https:/ arave .com/docs/5.1/quer 9.10 的約名+s,可能通過的mode類的table屬性來指定表名. 列表名的約定 默認表名為class extends Goods:groupBy( cat id ) get( cat id , avg(price) ) /想要效果: select cat id,avg(price) ro goods group by cat /實際效果: select cat id,avg(price) ro goods group by cat /原因: laravel在字段名兩邊用反引號包住了Msg:avg( id Mgmn id
31、 g:max id M:um id / select . where id2 order by id desc lim Msg:where( id , ,2) orderBy( id , desc ) skip(2) take(1) / select . where id 2 order by id desc; Msg:where( id , ,2) orderBy( id , desc ) get()/ 按條件查多Msg:w ere( id , 2) get( 列1 , 列2d的約定 Mode 默認認為,每張表都有一個叫做id的主鍵,你可以通過rrKey屬性來指定主鍵列名at字段 Mode
32、默認有這2個字段,且在更新行時,會自動幫你更新這兩個字段如果不想這樣,d的約定 Mode 默認認為,每張表都有一個叫做id的主鍵,你可以通過rrKey屬性來指定主鍵列名at字段 Mode 默認有這2個字段,且在更新行時,會自動幫你更新這兩個字段如果不想這樣,甚至不想要這2個字段,tmode的屬性設為10章 Request對對上放置著此次請求的全部信息.如請求方式請求路徑 (請求cook 后的部分等諸多信息,都存到的Request對象在方法中Request對第1個參數(shù)為參數(shù),即可自動接收Request作為方法的第1個參數(shù)出現(xiàn)另:如果方法中有路由器綁定的參數(shù),不受影響:Route:get( /de
33、l/$id public function del(Request $request , $id) / $id參數(shù)雖然到第2個參數(shù)去了,但不會受影響10.2 利用Request對象修改留言例,對象改進留言修改功能use tRqupublic function up(Request $request , if( p(T)$msg = f$return viw sg , msg else r( $request all() $msg = f$msg title = $request input( title ); / T參數(shù) = ; 屬$msg uti = $request input( uti
34、,im(); 給個默return $msg save() ? OK : fail 10.3 利用Request對象上/ mlt rerremmmeta charset=utf laravel添加留言equestclass exte ds public $tms = class extends protected priryKe = Xx id protected$table= rbeN發(fā)布頁10.4 laravel與TP對路由器的區(qū)arave 的路由簡單,靈活,指向控制器的方法. 而TP的路由是這種規(guī)律生成準確的說,TP不能叫路由,是而TP的規(guī)則路由發(fā)布頁10.4 laravel與TP對路由器
35、的區(qū)arave 的路由簡單,靈活,指向控制器的方法. 而TP的路由是這種規(guī)律生成準確的說,TP不能叫路由,是而TP的規(guī)則路由,正則路由,只是URL的一個別名甚至是跳轉,不是真正的路由假如上例寫在Home模塊下,是指-整體設計的區(qū)別 arave 接管的全過程,數(shù)據(jù)庫+MVC+錯誤處理 DB MVC error而tp,不包含數(shù)據(jù)庫Balcol s不在tp管理范圍 t i kp pMVC arave更像一個全自動車床,輸入原料,得到成品. 設的區(qū)別 arave大處省流程,tp小處省字母例:而tp則$ GE ,$ 有本質變化,仍是$ 仍需要手動接收,I( get.id相比$ GE 下,和純手寫博客時的
36、思路,沒有根本變化,.而arave ,則是接收參數(shù)的方式都已經截然不同 XxCo troller met ,$ TP提供的D(),M() I(),等有改變你的工作方式,只是讓略省幾個字母. arave則從流程和方式上,改變和簡化工作.象的區(qū)別 通過文件上傳體現(xiàn)的比較明顯, arave 是把WEB功能封裝在對象里, TP則是封裝對象幫你做web功能面$ ,$ ,$ oe/ dex/goods/goods URL ROUTER ON= true, URL ROUTE RULES =array(goods/:goodsid = Index/goods)URL與控制器的模塊/控制器/方public f
37、u t(Request $request) $request file( pic ) move( /pat /o/gexxj frm echo url( msg/add );? dinput type=text m=textareattxtrinput type=file aepinput p=sbit value=提交r/t模板的區(qū)別 arave 的模板語法比TP語法簡arave提供了系列好用的函數(shù),大致分為以下幾類. https:/ arave .com/docs/5.1/he pers數(shù)組函 各舉幾例array collapse() 數(shù)組拆散組成一維數(shù)組str l模板的區(qū)別 arave
38、的模板語法比TP語法簡arave提供了系列好用的函數(shù),大致分為以下幾類. https:/ arave .com/docs/5.1/he pers數(shù)組函 各舉幾例array collapse() 數(shù)組拆散組成一維數(shù)組str lt取字符前幾位,并添加省略str_random() e() app pat () 返回當前項目的的絕對$pat = app pat 也可以用于獲取下的其他文件的路徑$pat = app pat ( Http/Co rlls/C p base pat 返回項目的絕$pat = base pat 也可以返回項下某文件的絕對路徑,$pat = base pat ( ve dor/
39、bi co fig pat () 返回項目的配置文件所$pat = co fig pat public pat () 返回項目的公共文件所(js,css等一般放這兒$pat = public pat url() 生成規(guī)范actio () 配合路由器,生成規(guī)范url( foo/bar ); url( / ,cat,3, page ,4); ec o e( oo tl / lt tlt;oo; l$stri g = str ra om( / 8位隨機字符$value = str te H framework for web artisa s. , e H $array = array collap
40、se(1, 2, 3, 4, 5, 6, 7, 8, / 1, 2, 3, 4, 5, 6, 7, 8, back() 退回上一retur bcrypt() 加$password = bcrypt( my secret password 配置生成防跨域提交的隨機串csrf field() 生成防跨域提交的隱藏字段! csrf field() dd() 打印變量并終止執(zhí)行,一般調試時定得到當前的back() 退回上一retur bcrypt() 加$password = bcrypt( my secret password 配置生成防跨域提交的隨機串csrf field() 生成防跨域提交的隱藏
41、字段! csrf field() dd() 打印變量并終止執(zhí)行,一般調試時定得到當前的request對$request = $value = request( key , $default = 12章 項目開12.1 功能分p2pe租寶, 人人貸商業(yè)模式在豪華地段,租最豪,招模特做前臺,一水的170,大長腿資本,怎么著也得一個億吧,反正不用真實出資(關鍵再到敬老院雇一 病老頭市場諾高額回報,利率15%起,我說的是月利息沒客戶怎么辦? 在央視黃金時線下銷售銷售,狂.付不出利息怎么辦? 沒事,用下一個客戶的本錢付上個客戶的利息當客戶本金積累到10億時及時的死掉的錢哪去了? 鬼知道基本功能retur
42、 redirect( / ome $toke = csrf toke csrf toke $value = co fig( ap.tz e $value = co fig( ap.tz e , $default)沒讀到配置,則返回co /如果路由器沒定義到XxCo llerme od的路徑,則會報錯 actio ( XxCo tlrm od );ec o actio ( MsgCo rllre ,3, page 12.2 準備模把點點貸模板解壓放在vw下把解壓出的ge,移動到下寫一個簡單路由12.2 準備模把點點貸模板解壓放在vw下把解壓出的ge,移動到下寫一個簡單路由器測試Route:get
43、( test/i dex , fu ctio ()retur ew /i dex 并把i dex. 命名為 i dex.blade.p ,s瀏覽器f2打開控制臺,以omo .s為例:/test/i dex, 而源碼中 /css/, ge/-ig再次刷新, 頁面已正常顯示12.3 表分用戶表: 字類說uprmary主str用戶str電子郵mo .css 借款表:projects 用到時再分析借款附屬表:atts投資表:i收益表還款表:s 流水表:l12.3 遷移文13認證13.1 準備工自帶了用戶認證類,可以借款表:projects 用到時再分析借款附屬表:atts投資表:i收益表還款表:s 流
44、水表:l12.3 遷移文13認證13.1 準備工自帶了用戶認證類,可以方完成認證troller以及users主要用到 AppHttpCo trollersAut oarave 要求users表至少有如下字段 ema字password 60個長度 remember_token 100個長度由的uesrs表主鍵叫uid,且沒有created at,update at字段因此,按Mode 的約定,做如下說明protected $rmarye = uid public $tes = 13.2 AuthController類的工作原/ userspublic function em:rt users ,
45、 function $table) $table rts uid $table string( name $table ) $table string( ol $table string( password , $table rebr$table eger( rgtim $table eger( lastlogin mobstr號strregt時astog上次登陸時用戶cook o troller類有幾個 要屬性,意義如下(如果需要,你可以修改這o troller類有幾個 要屬性,意義如下(如果需要,你可以修改這幾個屬性值A13.3 準備路由與模板在vew下建立把register. l和log
46、i . l放入下并 命名為register.blade.p p和logi . blade.p 13.4 用frm tT action=url( auth/register csrf用戶名:input type=text nmeae value= old( name/ Rgiro Route:get( auth/register , Au thotrrtte); Route: t( auth/register , Au tor tRgit );/ Athentitio Route:get( auth/login , Au thtrrgtg); Route: t( auth/login , Au
47、thotro ostLogin ); Route:get( auth/logout , Au tCorlrgLgo );/ / 依據(jù)版本5.1.33 class AuthController protected $username =; #與password字段配合登陸的字段,nmemi protected $redirectPath = /home ; # 登陸成功后的跳轉方向protected rdretAtrogo = / ; # 默認退出后跳protected $loginPath = auth/login ; #默認登陸:input n value= ) :input type=te
48、xt o:input p=pa:input n value= ) :input type=text o:input p=pasrd =pr:input tp=pswr namepwr rn確注意,確必須叫password coimaon才能自動驗 $data name = password =bcrypt($datapassword發(fā)現(xiàn)在創(chuàng)建用戶時,沒有傳遞ole字段:protected function create(array return name = $data name = mi = $data mi password =bcrypt($datapassword再次提交,仍然收不到o
49、le字段,再次查看Mode p的文件,有如下屬性:protected $fillable = ame , password 這個屬性代表,外界對User :批量賦值時接收的字段protected $fillable = ame , obl , password 再,此時數(shù)據(jù)庫有ole數(shù)據(jù)了ol13.6 用戶登frm tdT action=url( auth/login csrf用戶名:input type=text nmeae value= old( name13.6 用戶登frm tdT action=url( auth/login csrf用戶名:input type=text nmeae
50、 value= old( name:input p=pasrd =prinput type=checkbox a=remr Array ( 0 efield is required. 這是因為: arave框架默認用+password字段來檢測用戶并登陸的屬性如下即,指定arave 以用戶名和來登陸,即可13.8 手動登如果有自己獨特的獨特登陸邏輯,可以手動登陸驗tt= , password = rAh:tmt( name = $na password = $password, = 檢測登陸狀Aut :c 退Atlgot14章 借款功14.1 借款表及遷移文借款表字類說pprmary主u用戶u
51、str用戶金mobstrprotected $user ame ame Aut o 借款附屬信息表/ projects表 遷移文public function em:rt projects , function $table) rteger(借款附屬信息表/ projects表 遷移文public function em:rt projects , function $table) rteger( uid string( name eger( money string( oi string( title ( rate eger( hrange eger( us ); # 0審核中,1招標中,2
52、還款中,3結eger( recive eger( pbtm / atts表 遷移文public function em:rt atts , function $table rets aid $table eger( uid $table) $table $table string( rana $table eger( age $table enum( gender , 男 , 女 $table eger( salary $table string( jobcity $table string( udesc 字類說rmary主u用戶up項目pttstr項目名reastr真tnyenum(男,女s
53、atny千jobcstr工作城str用戶描ttstr項目名tny利率(百分比tny還款期限,s tny0審核中,1招標中,2還款中,3結rev已招標pubt 項14.2 準備路由器和Route:get( jie , rootrolrji t( jie14.2 準備路由器和Route:get( jie , rootrolrji t( jie , rorrt 14.3 生成申請牽涉到2張表, projects, 為期生成Mode 14.4 借款方public function ie(Rques $request) return vew yja);public function t(Request
54、$request) /$rs = Pro:create($request $pro = new$proage= $request $promoney=$requesto$pro mole $request $pro uti = ($rs = $pro / 開始寫入atts附屬表信$att =new $att uid = $user $att = $pro ;$att var r14.5 獲取登陸用戶信class Pro extends protected $table = projects ; protected primrye= ; public tim s = false;protecte
55、d $fillable = money , age , ml class Att extends protected prmryK= aid ; public tims = false;artisanartisanpublic function ie oyu public function return o DB 在上一節(jié)中,發(fā)布的 roject信息沒有用戶的uid, ame信息需要從登陸信息中拿在上一節(jié)中,發(fā)布的 roject信息沒有用戶的uid, ame信息需要從登陸信息中拿到這兩條信息,并寫中arave 中,獲取當前登陸用戶的對象,可以用如下方法通過uer實例,可以拿到當前登陸用戶的信息
56、,項目審15.1 審核列表頁路由器控制器v15.2 審核表frls ($pros as $p date( Y/m/d H: , $p $p ap$p o/$p mlttd if ($p us = 待審si ($p us = 招標si ($p us = 還款si ($p us = 已結en) 審核暫無d/ file appHtpCorsCekCrl public function prolist() $pros = Pro:orderBy(,desc)get(); return vwprolist , pros =$pros);Route:get( prolist , ekrrolist pub
57、lic function t(Request $request) /$user = $user = $request $pro uid = $user $proname=$user$user = $user = $request 路由器控制器15.3 審核過程路由器t( , Ckort 控制路由器控制器15.3 審核過程路由器t( , Ckort 控制/ 審核數(shù)據(jù)updatepublic fu ctio c eck ost(Request $req , $pro = ro:fi $att = t: , ) emt($o) retur redirect( /prolist $pro title
58、= $req $pro ra ge = $req ra $pro rate = $req rate; / 百分$pro us = $req $att real ame = $req real $att ge der = $req ge $att udesc = $req if( $pro save() & $att save() retur redirect( /prolist else error 16章 投資功16.1 投標表字類說bprmary主u用戶up項目p/ 審核項目,主要是修改projects表和attspublic fu ctio c ) $pro = ro:fi $att =
59、 t: , ) emt($o) retur redirect( /prolist retur ew s e e , pro =$pro , att Route:get( , kotror 投public function t(Request $request , ) $pro = $bid =new$user = $bid uid = $user $bid = $pro ;投public function t(Request $request , ) $pro = $bid =new$user = $bid uid = $user $bid = $pro ;$bid title = $pro
60、$bidmoney=$requestinput(vamount$bid tim = ($bid save(); / 寫入投資信/ 修改項目收到的金$pro nret recive , $bid o/ 如果投標已滿,則改此項目的狀態(tài). if($pro money = $pro recive) /$pro us = /$pro $this tozion($r /交給專門的方法來處echo succ 15.2投標完成后, 借款人每月要還本+息,投資人每天要收利息因此再建2張表還款表字類說hprmary主u用戶up項目pttstr項目名每月還款金賬單s tny是否已/ bids表 遷移文public
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超滑爽氨基硅原油項目可行性研究報告
- 2025至2030年中國護色保鮮劑數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年珠光雙酯項目投資價值分析報告
- 2025至2030年塑料輕便鋸架項目投資價值分析報告
- 2025年中國羥基亞乙基二膦酸市場調查研究報告
- 2025年二丙二醇單甲醚項目可行性研究報告
- 2025至2030年長富宮小勺項目投資價值分析報告
- 2025至2030年純橄欖油項目投資價值分析報告
- 2025至2030年電磁制動電動機項目投資價值分析報告
- 2025年骨狀螺釘項目可行性研究報告
- 《休閑食品加工技術》 課件 1 休閑食品生產與職業(yè)生活
- 春季開學安全第一課
- 十大護理安全隱患
- 2025年新生兒黃疸診斷與治療研究進展
- 廣東大灣區(qū)2024-2025學年度高一上學期期末統(tǒng)一測試英語試題(無答案)
- 2025年四川中煙工業(yè)限責任公司招聘110人高頻重點提升(共500題)附帶答案詳解
- 課題申報書:數(shù)智賦能高職院校思想政治理論課“金課”實踐路徑研究
- 公司安全生產事故隱患內部報告獎勵工作制度
- H3CNE認證考試題庫官網2022版
- 感統(tǒng)訓練培訓手冊(適合3-13歲兒童)
- 公司章程范本(完整版)
評論
0/150
提交評論