laravel常见问题

重复使用查询生成器

https://stackoverflow.com/questions/30235551/laravel-query-builder-re-use-query-with-amended-where-statement
使用clone 
$ oQuery = Model :: where('is_test','=',' 0 ') - > GROUPBY('姓名'); $ oQuery1 = clone $ oQuery; $ oQuery1Results = $ oQuery1-> where('content','like','%2%') - > get(); $ oQuery2 = clone $ oQuery; $ oQuery2Results = $ oQuery2-> where('content','like','%0%') - > get();






安装Start Bootstrap Admin 2(SB Admin 2)

https://startbootstrap.com/template-overviews/sb-admin-2/ 
步骤1.安装新的Laravel 
$ composer create-project --prefer-dist laravel / laravel blog 
步骤2.下载SB Admin  
下载SB Admin Theme
Point 1.新建公共/主题/目录
点2.将SB Admin解压缩出来的数据,dist,供应商目录放到主题目录
步骤3.生成
路由routes / web.php新增
Route :: get('my-home' ,'HomeController @ myHome'); 
Route :: get('my-users','HomeController @ myUsers'); 
步骤4.新增控制器
app / Http / Controllers / HomeController.php
(内容见上面教程)
步骤5.设定主题的刀片文件
新建  资源/观点/主题/目录,并生成三个文件
资源/观点/主题/ default.blade.php
resources / views / theme / header.blade.php 
resources / views / theme / sidebar.blade.php
(内容见上面教程)
ps。<script src =“{!! asset('theme / data / morris-data.js')!!}”> </ script>必须有画图表再加载,否则会报js错误
步骤6.使用主题
新建下面两个档案
资源/ views / myHome.blade.php 
resources / views / myUsers.blade.php
(内容见上面教程)

生成.ENV的APP_KEY

$ php artisan key:generate

名词

Accessor - 访问器=> getFirstNameAttribute()
Mutator - 修改器=> setFirstNameAttribute()
守卫 - 看守器
提供者 - 提供器

用户认证(认证)

https://laravel-china.org/docs/laravel/5.7/authentication/2269 
https://laravel.com/docs/5.7/authentication 
快速生成身分验证所需的路由和视图
$ php artisan make:auth
打开注册页
http://laravel.localhost/login
点注册注册一个新帐号,users.password将会以哈什储存,然后就能以此新帐号登入

使用用户名登入
https://laracasts.com/discuss/channels/laravel / how-to-use-authentication-using-username-instead-of-email
app / Http / Controllers / Auth / LoginController.php新增
public function username(){ return'username 
    '; 
}
resources / views / auth / login.blade.php前端也要做处理,以免被输入.type = email挡住
使用电子邮件或用户名登入
https://stackoverflow.com/questions/42708942/allow-login-using-username -或电子邮件功能于laravel-5-4
app / Http / Controllers / Auth / LoginController.php 
public function username(){ 
   $ login = request() - > input('login'); 
   $ field = filter_var($ login,FILTER_VALIDATE_EMAIL)?'email':'username'; 
   request() - > merge([$ field => $ login]); 
   return $ field; 

让殷切能够使用可验证
https://stackoverflow.com/questions/46419933/laravel-ardent-with-authenticatable-user-model/46421896#46421896
建议参考照亮/粉底/认证/用户的用户类别的实作方式到你的模型上,然后继承殷切

使用廷克

https://www.sunzhongwei.com/using-laravel-tinker-for-laravel-admin-add-background-administrator
Tinker(修补匠) - 与你的laravel应用程式互动(与您的应用程序交互)
$ php artisan tinker 
Psy Shell v0.9.9(PHP 7.1.7 - cli)作者:Justin Hileman 
>>> $ user = new App \ Models \ User(); 
=> App \ Models \ User {#3116} 
>>> $ user-> password = Hash :: make('1234qwer'); 
=>“$ 2y $ 10 $ KRgwZyc8j.3rgE0kBMW / 8usLnsc3DGuZ6GtT3JiI1zgsBlxstq8RG” 
>>> $ user-> email ='tinker@example.com'; 
>“tinker@example.com” 
>>> $ user-> save(); 
=> true
可以直接在命令行执行laravel 

不同网站同一个专案
https:// stackoverflow。
'=>'example.com')],function(){ 
    //第一个域的所有路由都在这里。

多个域名走同一个    路由
https://stackoverflow.com/questions/18603330/can-i-group-multiple-domains-in-a-routing-group-in-laravel 
$ appRoutes = function(){ 
路线: :get('/',function(){ 
        ... 
    }); 
}; Route :: group(array('domain'=>'app.example.com'),$ appRoutes); Route :: group(array('domain'=>'dev.app.example.com'),$ appRoutes); 域名路由不作用https://stackoverflow.com/questions/41703192/laravel-subdomain-routing- is-not-working 因为路由有先后顺序(先来先服务),所以子域名同路径的路由必须写在前面Route :: group(['domain'=>'admin.localhost'],




        返回“这将响应'admin.localhost /'的请求”; 
    }); 
}); Route :: get('/',function(){     return“这将响应所有其他'/'请求。”; }); 下面例子子域名路由不作用Route :: get('/',function() {     return“这将在处理路由组之前响应所有'/'请求。”; }}; Route :: group(['domain'=>'admin.localhost'],function(){     Route :: get('/',function(){         return“这永远不会被称为”;     }); }); 在路由中动态加载域名https://开头计算器。











$ domains = \ App \ Domain :: where('status','1') - > get() - > pluck('email'); foreach($ domains as $ domain){     Route :: group(['domain'=> $ domain],function(){         Route :: get('/ {linkName}','RetargetController @ retarget');         Route :: get('/',function(){             abort(404);         });     }); PHP的工匠制作:AUTH与炽热的冲突 laravel官方验证  PHP工匠制作:AUTH后会生成  HTTP /控制器/认证/ RegisterController.php其中的创建用户方法创建()是这么写的回报用户::创建([   。 ..   'password'=> Hash :: make($ data ['password']),   =>  $ data ['













如果你的用户已经继承了Ardent,而且autoHashPasswordAttributes了密码这个栏位,密码将会被Hash两次造成登入不了的bug ...这时候需要在RegisterController :: create()中取消密码字段的哈希

参与评论