草庐IT

php - 如何确保 Laravel 5.5 正在运行测试?

我的应用程序中有一些方法可以检查if(env('APP_DEBUG'))打开并返回true(或其他)如果我们在Debug模式而不是执行特定的数据库或API调用。问题是当我运行phpunit时,应用程序仍处于Debug模式,因此它不会“真正”针对实际代码运行测试。是否可以检查测试是否正在运行,所以我可以做if(env('APP_DEBUG')||$testing)?还是有更好的方法来处理这种情况? 最佳答案 您正在寻找App::runningUnitTests()。请记住,您不应在配置文件之外使用env(),而应使用config('a

php - 如何从 Laravel 5.5 中的一对多关系中删除单行(多行)

我在Laravel中有两个模型:LabelclassLabelextends\Eloquent{protected$fillable=['channel_id','name','color',];publicfunctionchannel(){return$this->belongsTo('App\Channel');}}和channelclassChannelextends\Eloquent{protected$fillable=['name',];publicfunctionlabels(){return$this->hasMany('App\Label');}}现在当标签被删除时

php - Laravel 5.5 在具有不同列名的单独表上的唯一验证规则

所以我有用户和公司。一个用户属于一个公司。我想验证用户注册,以便他们用来注册的business_name字段在companies表中是唯一的,目标是不允许用户创建重复的公司。这是我的注册函数:publicfunctionregister(Request$request){$validator=Validator::make($request->all(),['first_name'=>'required','last_name'=>'required','business_name'=>'required|unique:companies','email'=>'required|ema

php - 在 Laravel 5.5 中生成工厂

我在命令下运行phpartisanmake:factory地址工厂我得到低于结果$factory->define(Model::class,函数(Faker$faker){但我想得到如下结果$factory->define(App\Address::class,函数(Faker$faker){我该怎么办? 最佳答案 如果您希望ma​​ke:factory命令为现有模型生成工厂类,您需要通过--model选项告诉它使用哪个模型:phpartisanmake:factoryAddressFactory--model="App\\Addr

php - ReflectionException - 中间件类不存在 Laravel 5.5

我知道我不是第一个遇到这样问题的人。我已经阅读了关于Stackoverflow和其他来源的所有现有信息,但它无法解决我的问题,我总是会得到一个ReflectionExceptionClassApp\Http\Middleware\xxxdoesnotexist。不是开玩笑,这真的是我的课。我已将其重命名为xxx以避免打字错误。我所有的路由都会通过web和admin中间件:Route::middleware(['web','admin'])->group(function(){这是我的/app/Http/Kernel.php:protected$middlewareGroups=['we

Php 更新(包 5.5-frontenddev 已经安装)?

我正在尝试在Mac上将我的Php更新到5.5(通过将“curl-shttp://php-osx.liip.ch/install.sh|bash-s5.5”粘贴到终端)。下载开始但在下载停止之前给出以下消息:包5.5-frontenddev已安装在版本5.5.5-20131020-233829中。您想要安装版本5.5.5-20131020-233829。我真的需要5.5才能继续我的类(class)吗?预先感谢您的任何帮助。马盖特 最佳答案 您应该能够删除packager注册表日志,然后再次尝试该命令,确保您已从/usr/local/p

php - Carbon\Carbon 未发现不一致 - Laravel 5.5

所以目前我撤回一个日期并将其转换为carbon中的可读格式:LetterSent:@if(is_null($Client->letter_posted))@else{{\carbon\carbon::createFromFormat('Y-m-d',$Client->letter_posted)->format('d/m/Y')}}@endif它在测试时有效(同时测试letter_posted是否为null)但是偶尔它会在实时服务器上吐出错误:Class'carbon\carbon'notfound它在过去2个月内仅随机发生3次,刷新页面将消除此错误,例如。出现错误,如果您刷新页面,它

php - Laravel 5.5 覆盖供应商类

我正在尝试覆盖(而不是扩展)供应商类。因此,无论何时调用供应商类(在供应商代码中),我都希望它调用我的自定义类。看起来我需要在我的App/Providers/AppServiceProvider中为类添加别名我已经试过了:$loader=\Illuminate\Foundation\AliasLoader::getInstance();$loader->alias('Vendor\VendorName\Class','App\Vendor\MyCustomClass');但这并没有做任何事情。我可以顺利注册我的类(class):$this->app->register('App\Ven

php - Laravel 5.5 质量分配异常

我正在学习LaravelFromScratch教程系列,我目前正在为您的文章系统创建评论系统。但是我遇到了问题,我现在真的不知道错误在说什么。错误:Illuminate\Database\Eloquent\MassAssignmentExceptionbody评论模型:belongsTo(Post::class);}}帖子模型:hasMany(Comment::class);}publicfunctionaddComment($body){$this->comments()->create(compact('body'));}}我走的路线:Route::post('/posts/{po

php - Laravel 5.5 - 检查字符串是否包含确切的单词

在laravel中,我有一个$string和一个$blacklistArray$string='Cassandraisacleanwordsoitshouldpassthecheck';$blacklistArray=['ass','ballsack'];$contains=str_contains($string,$blacklistArray);//true,containsbadword$contains的结果为真,因此这将被标记为包含黑名单词(这是不正确的)。这是因为下面的名称部分包含assC屁股安德拉但是,这是部分匹配,Cassandra不是坏词,因此不应标记它。只有当字符串