从消息袋中删除消息
如何从MessageBag? 中删除错误消息 我一直在尝试从MessageBag使用的消息数组中删除特定元素. 我得到了两次相同的错误消息. @if($errors->has('undefined')) × Failure. {{ $errors->first('undefined') }} getMessages(); $messages = $errors->toArray(); unset($messages['undefined']); ?> @endif @
24 2024-04-22
编程技术问答社区
Laravel 4应用程序中的浏览器缓存问题
我对浏览器缓存干扰了我的Laravel应用程序有问题. 如果禁用了浏览器缓存,则一切正常.但是,如果启用了,并且重复单击相同的链接,则无法执行创建视图或收集数据的Laravel方法. 含义是多方面的.例如,编辑资源或网格显示数据的表单(使用AJAX加载了服务器),在重新加载浏览器之前,请勿显示当前值. 我已经在某些方法中放了一条线,该方法记录了当前的时间戳以证明这一点. public function index() { Log::info( microtime() ); return View::make( $this->templates_root . 'index' ); } 在日志中没有线路出现,当重复单击链接或再次访问视图时.但是如果我重新加载浏览器. 我该怎么做才能防止浏览器缓存我的观点? 解决方案 编辑: 惊喜,惊喜 - 以前的解决方案在IE中没有起作用. 花了又几个小时后,我最终将以下内容添加到bla
12 2024-04-04
编程技术问答社区
为什么在laravel中,当浏览器的后退按钮被按下时,过滤器不工作?
我有一个观点输入一个帐户,然后称为验证数据的控制器,然后使用身份验证方法保存 public function doLogin(){ $rules = array( 'email' => 'required|email', 'password' => 'required' ); $validator = Validator::make(Input::all(), $rules); //dd(Input::all()); if($validator->fails()){ return Redirect::to('usuarios')->withErrors($validator)->withInput(Input::except('password')); }else{ $userd
14 2024-04-03
编程技术问答社区
显示BLOB图像Laravel 4
我在mySQL上添加了png映像,但是当我尝试检索它们时,我将它们作为文件拿来,但不能显示为图像. 以下是我的代码. //控制器 public function post_news(){ $image = Input::file('image'); $filename = $image->getClientOriginalName(); $base64 = base64_encode($filename); $news = new News(); $news->title = Input::get('title'); $news->description = Input::get('desc'); $news->image = $filename; $news->save(); return Redirect::to('news')->withErrors(['This news has been a
6 2024-04-01
编程技术问答社区
Laravel 4.2 BIT数据类型问题
数据库表中有一个类型列.但是它无法正常工作. 问题是 $invitee = new Invitee(); $invitee->name = "name1"; $invitee->email = "example@mail.com"; $invitee->isActive = 0; // "b'0'", '0', false, are also not working $invitee->save(); 我需要将零0放在isActive列中,但是每次尝试使用0>. 我在 there.中找到了一个问题.但是答案没有描述问题的原因.很高兴有人可以解释这个问题. 解决方案 具有bit类型字段意味着您需要在插入/更新该字段时将原始值用作解决方法. 那是因为默认情况下PDO将绑定这些值,并且它们将被视为字符串,因此bit将导致1: DB::table('table')->insert(['bit_field' => 0]); // inserts 1
4 2024-03-31
编程技术问答社区
Behat 3和Laravel,测试环境不被认可
我使用Behat 3和Laravel测试API遇到了令人困惑的问题. 似乎不使用"测试"环境数据库(在我的情况下是sqlite存储器数据库)...而只是在某些时候. 我已经在testing/database.php文件中放置了一个日志消息,以查看何时加载. 但是运行Behat功能正在为我的开发数据库添加行 - 我的某些测试出于相同的原因而失败. 我的phpunit测试运行良好,不要更改开发数据库. 我错过了behat.yml中应该有什么吗? 编辑:我看到了问题 - 我正在使用Guzzle来测试API,而Behat的设置功能在测试ENV上起作用,一旦Guzzle播放,该应用程序在测试Env中就不知道它.因此,我要么必须找到一种方法来告诉该应用程序在测试Env中,要么告诉Behat使用开发环境. 解决方案 使用Phpunit,您可以在引导程序中配置环境,并且在整个测试中将使用该配置.与Phpunit不同,您有不同的情况,它向服务器提出了请求,并且不
16 2024-03-30
编程技术问答社区
测试Laravel 4应用的第一枪(PHPSpec/BDD vs. PHPUnit/TDD)
我已经在这个问题上一直在努力了很长时间.我知道我只需要跳入一个或另一个,因为它们显然是可行的/有用的工具,但是已经被困在栅栏上,研究了两者. phpunit vs. phpspec - >可能导致更好的长期可维护性和编程实践? 我已经与几个经验丰富的phpunit-> phpspec converts/用户进行了交谈,他们现在由phpspec发誓,声称由于其BDD方法,它可以促进更好的设计.但是,由于它是一个更新的工具,因此与Phpunit相比,缺乏社区/教程. 目前,我的PHP开发集中在Laravel 4开发围绕. 基本上将phpunit烘烤到Laravel框架中,似乎这可能是更容易的选择,但我真的很喜欢Phpspec的BDD方面.但是,Phpspec似乎不想在Laravel的立面设置中表现出色(我也发现这可能是一个很好的做法,可以在可能的情况下避开). 我的真正难题是,其中哪一个更有可能成功地集成到现有的Laravel 4项目中,现有测试覆盖率为零.
24 2024-03-29
编程技术问答社区
Laravel 4.2验证规则-当前密码必须与DB值匹配
在密码重置上,用户提供current_password,password和password-confirmation.有没有办法在验证规则中指定current_password(hash值)必须匹配数据库值? 目前我有: $rules = array( 'current_password' => 'required', 'password' => 'required|confirmed|min:22' ); 谢谢. 更新 感谢@chrisforrence和@ben,我想出了以下内容,它效果很好!非常感激.希望这会帮助别人: Validator::extend('hashmatch', function($attribute, $value, $parameters) { return Hash::check($value, Auth::user()->$parameters[0]); }); $messages
2 2024-03-29
编程技术问答社区
Laravel 4 Basic Auth自定义错误
我正在使用Laravel的" HTTP基本身份验证"功能.我想自定义错误消息,如果输入的凭据是错误的,则会从laravel生成. 是否可以捕获HTTP Auth失败时生成的401错误? 希望你能帮助我. 问候 解决方案 基本auth 尝试捕获401错误并返回CUSOM视图?! App::error(function($exception, $code) { switch ($code) { case 401: return Response::view('errors.403', array(), 401); case 403: return Response::view('errors.403', array(), 403); case 404: return Response::view('errors.40
20 2024-03-29
编程技术问答社区
不能在laravel中验证用户身份
$userdata = array( 'email' => Input::get('email'), 'password' => Input::get('password') ); if (Auth::attempt($userdata)) { echo 'SUCCESS!'; } else { return Redirect::to('login'); } 当我从浏览器运行应用程序时,我会收到此错误: Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Auth\UserInterface
4 2024-03-29
编程技术问答社区
基本的laravel路由密码保护,不需要设置数据库?
我正在寻找一个简单的密码保护解决方案(用户名和密码作为键值对阵列中的键值对)(example.com/demo).我知道这是生产中不良的做法,但这只是某人的快速演示.我当前拥有的代码是很琐碎的东西: Route::group(['prefix' => 'demo', 'before' => 'auth.basic'], function() {...}); 我必须创建自己的过滤器吗?我将如何设置它,以便过滤器仅在生产中工作? 解决方案 这很简单: Route::filter('auth.verybasic', function() { if(Request::getUser() != 'foo' || Request::getPassword() != 'bar'){ $headers = array('WWW-Authenticate' => 'Basic'); return Response::make('Invalid
4 2024-03-29
编程技术问答社区
在Laravel中使用HTTP Basic Auth进行注销
我有一个用户类,它由两种类型的用户组成,并希望允许不同的用户转到不同的页面. 我创建了一个过滤器,如下所示 Route::filter('isExpert', function() { $userIsExpert = 0; $userIsLoggedIn = Auth::check(); if ($userIsLoggedIn && Auth::user()->role == 'expert') { $userIsExpert = 1; } Log::info('Logged in: ' . $userIsLoggedIn . ' && Expert: ' . $userIsExpert); if ($userIsExpert == 0) { Log::info('should be logging out now.'); Auth::logout(); retu
8 2024-03-29
编程技术问答社区
无法执行Laravel artisan命令
我刚刚安装了最新版本的Laravel,并尝试从我的git bash运行以下命令: php artisan migrate:make create_users_table --table=users --create 这触发以下错误: Could not open input file: artisan 我尝试了我在此网站上发现的许多事情,但似乎没有什么可用.关于如何使其工作的任何建议? 解决方案 tl; dr 在项目的根文件夹中运行composer install 说明 当您通过下载和提取 laravel/laravel/laravel/laravel repo .通过使用Composer命令: composer create-project laravel/laravel your-project-name 在这种情况下,依赖项未安装,因此不存在包含工匠的vendor文件夹.在项目的根文件夹中运行composer insta
10 2024-03-28
编程技术问答社区
Backbone pushState和Laravel 4-Routes无法工作
我有一个非常简单的Laravel 4设置,其中有1个控制器进行旅行. 现在,另一个带有路由器的骨干的简单设置以及通往trips,trips/create的常规路由的路由.我想使用PushState:True拥有不错的URL,但我似乎无法正常工作.当我尝试到达URL时,它会将我带到服务器上的页面,并使用我的JSON数据. 但是,如果我输入:www.mysite.com/#trips我是"重定向"到www.mysite.com/trips的,然后是该特定路线触发的方法. 这是我的路由器: App.Router = Backbone.Router.extend({ routes: { '': 'index', 'trips': 'trips', 'trips/create': 'newTrip', 'trips/:id': 'showTrip' }, index: function(){ },
6 2024-03-26
编程技术问答社区
我如何在Laravel中创建一个RESTful API,并在我的BackboneJS应用中使用?
我想在Laravel 4中创建一个静止的API,以在我的Backbonejs应用中使用.这样做的最好方法是什么? Laravel 4框架是否为此提供了一个很好的解决方案. 解决方案 这是创建存储书签的API的示例.它使用Route::resource()方法. 在Laravel 4 中创建一个静止的控制器 POST = store() (Create a new entry) DELETE = destroy($id) (Delete an entry) GET = index() (Get all entries) GET = show($id) (Get one entry) PUT = update($id) (Update an entry) 测试API的最佳扩展: 这是我简单的路由器和控制器,我做了相同的项目.您可能想尝试Chrome的Postman Restful客户端测试您的API, routes.php /* |------------
8 2024-03-26
编程技术问答社区
没有找到类的注释 Laravel 4
我试图将评论系统添加到我的Laravel应用程序中. 但是我似乎无法正常工作. 我有两个型号 class Post extends \Eloquent { protected $table = 'posts'; public function comments() { return $this->hasMany('Comment','postId'); } } 和我的评论模型 class Comment extends \Eloquent { protected $table = 'comments'; public function post() { return $this->belongsTo('Post'); } } 在我的dashboardcontroller中,我正在尝试从模型中获取输出 use App\Models\Post; use App\Models\Comment; use Input, Redirect, Sentry, S
12 2024-03-21
编程技术问答社区
不能将类的实例传递给构造函数
我有一个用户雄辩的模型,该模型在其构造函数中使用了Usermailer类的实例,但我得到了此错误 Argument 1 passed to User::__construct() must be an instance of TrainerCompare\Mailers\UserMailer, none given, called in /var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 631 and defined 我理解错误,但无法弄清楚我做错了什么,但是我不介绍命名界和作曲家类映射与PSR0自动加载非常好.我已经记得使用作曲家转储 - autoload,所以不是 相关文件夹结构 composer.json app/ models/ User.php TrainerCompare/ Mailers/ Mail
14 2024-03-21
编程技术问答社区
Laravel 4: 加载一个旧的库:如何?
我有一个旧的库( phpquery ),我想在我的项目中包括.我将其放入供应商中,但是它不起作用,因为它不符合PSR-0.我不希望它为每个请求加载,所以我没有将require放在bootstrap autoload.php中. 我什至不知道,如何获得该应用程序的根源.运行path()给我一个URL,而不是我追求的. 那我该怎么做? 解决方案 您可以像Laravel 3中的图书馆目录创建一个库目录,并将其包含在类加载程序中.您可以通过作曲家或Laravel进行此操作. //composer.json "autoload": { "classmap": [ "app/commands", "app/libraries", "app/database/migrations", "app/tests/TestCase.php", ] }, //app/starts/global.php C
10 2024-03-21
编程技术问答社区
PSR-4自动加载不工作
我创建了一个app/modules目录,并使用psr-4自动加载它: "psr-4": { "Modules\\": "app/modules" } 我也做过composer dumpautoload.我有以下目录结构: app - ... - modules -- ModuleName --- controllers ---- BackendController.php ... 文件BackendController.php具有命名空间Modules\ModuleName\Controllers. 和routes.php,我有以下内容: Route::resource('backend/modules/module-name', 'Modules\ModuleName\Controllers\BackendController'); 但是,每当我尝试访问"后端/模块/模块名称"时,我都会得到以下消息的ReflectionException:
14 2024-03-21
编程技术问答社区
Laravel多Aiuth与多表会话设置,直到用户注销
我已经在Laravel-4.2中实现了多作用,并带有多个表格第三值>() - >尝试,这有助于我使用请求的表登录,并假设如果第3个值为null,则auth :: user() - >尝试使用. 对于多授权,我正在使用" Ollieread" Pakage Auth实施代码是 auth.php: array( 'BSc' => array( 'driver' => 'database', 'table' => 'bsc', 'model' => 'BSc' ), 'user' => array( 'driver' => 'eloquent', 'model' => 'User', 'table' => 'use
4 2024-03-20
编程技术问答社区