草庐IT

laravel_queue

全部标签

php - Laravel 5.5 模型上的自定义软删除

我的帖子通过status列中的值定义为软删除或未软删除,其中:0=不可用,1=可用,77=软删除。目前,我在模型中添加了一个全局范围以确保我不会返回软删除的帖子:protectedstaticfunctionboot(){parent::boot();static::addGlobalScope('status',function(Builder$builder){$builder->where('status','!=','77');});}我将如何修改模型的softDelete(laravels内置功能)从其默认的时间戳和deleted_at列以使用我的基于数字/状态的系统,甚至/

php - 最佳实践 : Redirect when deleting in Laravel using Ajax call

我使用Laravel5.5构建一个web应用程序,我遇到了一个问题。使用AJAX从我的数据库(一个项目)中删除记录正常工作,它被删除并且Ajax返回刚刚删除的数据。我在项目ListView中执行此操作,因此数据表会刷新并且不再显示此记录。问题是当我从项目页面而不是列表页面删除记录时。它被删除并且Ajax返回正确的值,但用户仍然在显示已删除数据的同一页面中;如果他们刷新页面,他们会收到404错误(显然是因为我们刚刚删除了记录)。在这种情况下,最佳做法是什么?我应该将用户重定向到项目列表页面吗?这种情况下怎么办?如果在应用的其他地方多次调用此删除命令,会发生什么情况?谢谢!

php - Laravel Eloquent 查询 - 无法转换为 int

我正在尝试使用pluck在Eloquent上构建查询,但出于某种原因,给我的返回消息是:ObjectofclassIlluminate\Support\Collectioncouldnotbeconvertedtoint(View:/Applications/MAMP/htdocs/Housing_around/resources/views/admin/tasks/create.blade.php)谁能告诉我发生了什么事?Controller方法:$house=House::findOrFail(Auth::user()->house->id);$jobs=Job::pluck('n

php - 如何使用 Laravel 查询生成器跨表选择多个列?

我有一个LaravelEloquent查询,我试图从MySQL表中选择多个列。$query=DB::connection('global')->select('mytable.id','mytable.column1','mytable.another_column','mytable.created_at','myothertable.id)->from('mytable')->get();看起来select()函数接受三个参数:query、bindings和useReadPdo。上面的查询给我一个错误:{"error":true,"message":"Typeerror:Argum

php - Laravel 5.4 是否已完成记录作业的解决方案?

我在我的项目中使用Laravel5.4和MySQL。远程服务器是PHPServer7当用户将记录保存到数据库时,它还会创建一个队列作业以通知相关公司官员。我的代码在Controller文件中foreach($audit->mailusersAS$mailuser){$this->dispatch(newSendAuditEmail($audit->id,$mailuser->name,$mailuser->email));}我正在为QUEUEDRIVER使用数据库。我的意思是它是这样写在.env文件中的:QUEUE_DRIVER=database如您所知,如果您使用“数据库”而不是“r

php - Laravel dump() 意外输出

使用Laravel5.5.34,我无法使用dump()帮助程序在Blade模板中输出调试信息。{{dump('test')}}结果如下:我不希望原始字符串“test”显示在实际调试输出下方。这是正常行为吗?如果是,我该如何禁用它?如果不是,什么错误配置会导致它? 最佳答案 深入挖掘,我找到了问题的根源。首先,Blade翻译这个...{{dump($var)}}为此:这一直都很好,因为Symfony的dump()助手从未返回过值。但是,他们通过此提交更改了它:https://github.com/symfony/var-dumper/

php - 如何从 Laravel Artisan 触发单元测试

我有一种情况,我用PHPUnit进行了一些单元测试,我想从laravel的artisan控制台实用程序中触发它们。我用谷歌搜索过,但没有找到任何引用资料,这可能吗?我不是在问如何测试artisan命令。或者如何动态调用另一个artisan命令,但要从artisan触发单元测试我可以使用Artisanfacade调用某些命令,例如Artisan::call('migrate');//whichcallsmigration像这样我可以调用单元测试吗?我正在使用PHPUnit 最佳答案 您可以使用symfony的process命令,无论如

php - Laravel 集合中的 "Skip"方法

在查询生成器(\Illuminate\Database\Query\Builder)中,可以同时使用skip($n)和take($n)方法。在集合(\Illuminate\Support\Collection)中,可以使用take($n)函数,但没有skip($n)函数。为什么会这样,还有其他选择吗? 最佳答案 skip($n)方法确实不包含在Collection类中,但是有一个函数做同样的事情:slice($n).QueryBuilder(取自文档):$users=DB::table('users')->skip(10)->tak

php - 如何使用自定义 laravel 包添加 css 和 javascript 文件

大家好,我正在使用laravel开发我的第一个包,我需要在我的包中添加一些css和javascript文件,任何人都可以回答我什么是完成这项任务的正确方法。 最佳答案 您不能直接从您的Laravel包中添加Assets,因为您首先拥有publish()Assets。在您的服务提供商中/****@returnvoid*/publicfunctionboot(){$this->publishes([__DIR__.'/path/to/assets'=>public_path('vendor/courier'),],'public');}

php - Controller 中的 Laravel 绑定(bind)接口(interface)

是否可以将接口(interface)绑定(bind)到LaravelController中的实现?类似于以下非常粗略的示例:if($property->param==1){$mailSourceData=bind('MailInterface','gmailProviderRepo'){elseif($property->param==2){$mailSourceData=bind('MailInterface','yahooProviderRepo')}$mailSourceData->sendMail($emailBody);这不适用于服务提供者中的上下文绑定(bind),因为那时