laravel WHERRAW和where in语句

我试图在查询生成器中使用WHERRAW使用WHERE IN语句,但它似乎不起作用。不过,我并没有尝试从其他表中选择值,只是从多个值中进行选择 我尝试过以下三种方法: return $this->object->whereRaw("`status` = 'active' AND `salesType` IN ( ? ) AND `region_id` = ?", array("'sale','buy'","1"))->paginate(10); return $this->

Laravel:在另一个数据库上运行迁移

在我的应用程序中,每个用户都有自己在用户注册时创建的数据库。连接和数据库数据(数据库名称、用户名、密码)保存在默认数据库的表中 try{ DB::transaction(function() { $website = new Website(); $website->user_id = Auth::get()->id; $website->save(); $database_name = 'websit

Laravel 5中的页面查看计数器

我想知道你是如何在Laravel 5中制作一个页面浏览计数器的。有什么特别的方案可以帮我解决这个问题吗?我基本上被卡住了,因为Laravel 5的稳定版本最近发布了。如果你想自己构建它,那就很容易了 在app/Htpp/middleware/PageViews.php中创建新的中间件: <?php namespace App\Http\Middleware; use Closure; class PageViews { /** * Handle an incomin

Laravel队列重试延迟

我正在使用Laravel构建一个大型应用程序,并在此应用程序中找到队列的用法。我现在正在为此使用beanstalkd服务。然而,我一直在为这种设置寻找答案。是否有一种方法可以使队列重试以非即时方式进行处理。我想在n秒后重试。谢谢尝试使用内置的队列服务,并使用以下功能 Queue::later(Carbon::now()->addMinutes(1), $task); 要延迟下一次重试,只需在命令中添加--delay=[NUM\u OF \u SECONDS] 例如,要在失败后等待30秒重

使用存储库模式将Eloquent\Collection(Laravel)强制转换为stdClass数组

我试图通过以下方式在一个Laravel 5应用程序中实现存储库模式。在它中,存储库实现将特定数据源的对象(在本例中为Eloquent)转换为stdClass,以便应用程序使用标准格式,而不关心数据源 要转换单个有说服力的对象,请执行以下操作: /** * Converting the Eloquent object to a standard format * * @param mixed $pokemon * @return stdClass */ protected function co

按用户id删除所有记录laravel

我想删除与用户id对应的所有记录,这是我的查询 DB::table('permissions')->find($data['user_id'])->delete(); 若您使用find方法,它将只删除一行,若要删除所有记录,您需要使用where方法 DB::table('permissions')->where('user_id', $data['user_id'])->delete(); 在非对象上调用成员函数delete(),请尝试以下操作,DB::table('

在laravel中,数据在会话中持续多长时间?

最近,我注意到我的laravel 5应用程序出现了一个非常令人不安的情况,我似乎无法理解。在登录期间,我在会话中设置user_type变量,如下所示 Session::put('is_supervisor', $user->is_supervisor); 在我的config/session.php文件中,我有以下配置: 'lifetime' => 120, 'expire_on_close' => false, 我还实现了“记住我”功能 我以主管用户身份登录,已选中“记住我

Laravel 如果用户是管理员,请选择所有记录

如何获取所有记录如果用户是admin,如果不是admin,则仅返回用户帖子。我已经试过了 Where('idUser',"=",$IdCurrentUser)->orWhere('Administrador','=','Administrador')->get(); 提前感谢您可能希望返回经过身份验证的用户,如 $isAdmin = false; if (Auth::check()) { $user = Auth::user(); if ($user->getName

Pusher和Laravel 5.3事件广播

尝试将Laravel5.3与pusher一起使用,但在我的代码中它似乎工作不正确 我的.env是正确的 PUSHER_APP_ID= myappid PUSHER_KEY= mykey PUSHER_SECRET= mysecret 这是我在broadcasting.php中的“pusher”配置 'pusher' => [ 'driver' => 'pusher', 'key' => env('PUSHER_KEY'),

通过Laravel中的链接注销

我的顶部导航栏中有一个“注销”链接。我想知道我怎样才能做到这样,当我登录时,当我点击它时,它会将我注销并返回主页 具体来说,我在Laravel中对哪些文件做了哪些更改?另外,我需要在当前仅包含HTML的视图中编写什么代码来触发此操作?使用以下方法: 或: 要将用户注销您的应用程序,您可以使用Authfacade上的logout方法。这将清除用户会话中的身份验证信息 编辑日期:2019年12月28日:这是一项工作,但这个答案包含一个严重的安全问题。使用前请考虑。Lucas Bustamante的答

如果模型记录属于经过身份验证的用户,则Laravel仅检索模型记录

我使用的是Laravel5.4,有一个名为Order的模型。 为了测试,我创建了两个用户和两个订单,每个用户有一个订单 我刚刚看到我能够检索到不是我当前用户的人的订单。我正在使用Auth::user()->orders检索用户自己的订单列表。但为了显示特定订单的详细信息,我会这样做: /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ publ

Laravel 雄辩的更新或创建错误:一般错误:1364字段不';不存在

我正在尝试使用updateOrCreate函数,它在前面工作,但是当我添加一个名为user的新行时,它已停止工作,即使我的updateOrCreate看起来是这样的: SystemCoreStats::updateOrCreate(['id' => $systemId],['type' => $type, 'stat_build_store' => $val, 'user' => $user->id]); 我不明白我做错了什么。基本上,这个错误意味着你试图更新或创

Laravel迁移文件

我正在使用php artisan migrate运行迁移文件。但它不在数据库中创建表。然后,我删除“用户和密码重置”迁移文件并运行php artisan migrate命令。然后,我的新迁移文件成功运行并在数据库中创建表 当我创建更多迁移文件并运行该命令时,它也不会在数据库中创建表。为了再次创建表,我删除了以前创建的迁移文件 请帮我做这个。每次我都必须删除一个或多个迁移文件才能运行新的迁移文件 这个错误是什么语法错误或访问冲突:1071指定的密钥太长;最大密钥长度为767字节?如果您的MySQL

Laravel VueJS在页面之间共享数据

在我的第一页中,我用一些数据填充我的vue模型: data: { ... } 现在让我们假设我点击了一个链接,它将我带到第二个页面/user 有什么方法可以在下一页中将数据从我的Vue模型传递到Vue模型?我建议您在VueJs或Vuex中查找状态管理,了解其工作原理,然后您将得到您想要的。您可以说单击链接,这是普通标记还是您正在使用的

Laravel echo服务器引发Redis和队列异常

我用laravel 5.4实现了实时聊天,用redis和queue实现了laravel echo。我对队列有一些问题,下面是一些代码提示 主管设置如下所示 [程序:qwikkar暂存队列工作者] 进程名称=%(程序名称)s%(进程编号)02d command=sudophp/var/www/html/Qwikkar_staging/artisan queue:work--sleep=10--trys=3--daemon 自动启动=真 自动重新启动=真 用户=ubuntu numprocs=1 重

SQLSTATE[42S02]:基表或视图未找到laravel curl错误

我已经写了两个laravel应用程序FirstApp和CryptoApp(分别为应用程序名称) 在其中,我将加密文本发送到CryptoApp中名为(Decrypt)的函数,该函数应该返回解密文本 在FirstApp中,我向CryptoApp发送一个带有加密文本的curl POST请求 cURL发布代码:在FirstApp内部 private function DecryptApi($data) { $ch = curl_init(); // ini

Laravel 路由API,不';无法在服务器上工作,但本地工作正常

当我在本地调用此API时,它工作正常并返回值。但当我在服务器上部署后调用这些API时,始终需要返回令牌密钥。我也从数据库中放入了准确的令牌密钥 这是我为每个用户提供的令牌函数 private function randomDigit($length, $count) { $codes = []; $stringDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

Laravel response helper file()方法正在下载,不显示文件

我正在尝试使用laravel的response helper显示存储在存储文件夹中的文件。不幸的是,每次运行时,文件都会被下载,而不是显示。下面是我的代码: 公共函数视图文档($id) { $a=pro_doc::findorfail($id); $path=存储路径('documents/。$a->file\u name); 如果(!File::exists($path)){ 中止(404); } 返回响应()->file($path); } 我正在向控制器发送一个id,控制器会查找记录并获

如何在Laravel中验证数组并返回它';什么是过滤值?

因此,Laravel不会删除数组验证中的嵌套元素。这对我来说是个问题,因为我正在尝试动态更新关系。如果用户伪造了另一个元素,Laravel会爆炸并给出错误信息: SQLSTATE[HY000]: General error: 1 no such column: country 我检查了问题所在,碰巧是: $request->validated() 如果你想测试它,这里是我的测试方法: /** @test */ public function test() { $result

Laravel-如何在PHPUnit测试中使用假冒产品?

当我运行测试时,它给了我这个错误: 未定义变量$faker 这是WithFaker文件 你必须使用$this->faker->firstName()而不仅仅是$faker->firstName() 更新1 现在,当我们将与faker一起使用时,Trait$this->faker将为我们提供null,要避免这种情况,请确保首先调用$this->setupFaker() e、 g 一旦您完成Faker的安装,credit@Ebi。 包括自动加载文件和创建实例 $faker = \Faker\Fac

Laravel NPM安装错误|文本文件正忙,取消链接

在项目文件夹中运行sudo npm install--force--no-bin链接时出现此错误。下面是我收到的错误。看起来它一直在重命名一些节点。我进入实际文件夹并在最后删除#s,但当我再次运行安装时,它只是重新添加它们…不确定发生了什么 谢谢大家! “ETXTBSY是系统级的文件共享冲突,它表示另一个进程已打开该文件并持有该文件的锁。”() 这意味着npm正在试图覆盖锁定的文件。您必须停止持有锁的进程才能覆盖该文件 过程PID可通过以下方式找到: fuser-u这可能会对您有所帮助。另外,

Laravel 调用雄辩的集合函数

我已经在3个不同的表/模型之间创建了模型关系 由于hasMany属性,我获得了一个对象集合,因此我必须使用for循环来访问每个Models方法,以便获得所需的数据。 有没有告诉我,我希望它在所有对象上运行相同的函数 伪代码: Model A //HasMany Model B Model B //HasMany Model C, Belongs to A Model C //BelongsTo C $foo = new User::Find(Auth::id());

如何获取laravel 5.4中帖子的评论名称

我遵循惯例,使用紧凑的方法查看所需的数据 模式用户表 id,name,email,password 模式post表 id,user_id,title,body,photo 模式注释表 id,post_id,user_id,comments,photo 在用户模型中 public function post() { return $this->hasMany(post::class); } public function comments() {

试图在laravel中获取回复我的消息

我想获取以登录用户身份回复我的消息或发送给我的消息的数据: return self::where('sender', '=', 'user1') ->whereIn('id', function($query) { $query->select(DB::raw(1)) ->from('replies') ->whereRaw('replies.messages_id = id AND replies.receiver

Laravel PHPUNIT测试-预期状态为200,但收到500

我一直保持500的状态,而预计是200。以下是文件: ExampleTest.php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class ExampleTest extends TestCase { /** * A basic test example. * * @return void */

将laravel从5.2升级到5.4后分页出错

我在Laravel5.2中使用了它,它工作得很好。但是升级到Laravel5.4后,我的项目中到处都出现分页错误 public function listdata() { $locale = Input::get('locale'); $pageSize = intval(Input::get('pageSize')); $currentPage = intval(Input::get('currentPage')); $column = Input::get('column'); $sort

Laravel 尝试向GetStream中的用户添加提要时出错

我是GetStream API的新手,一直在尝试用Laravel安装它。我遵循了所有关于如何安装它的文档。然而,现在我正在尝试对模态进行简单的添加,我得到了这个错误。 我得到的错误。这是我的模特的样子。 我想要一些指导。谢谢大家! 在Want模型中使用ActivityTrait之前需要导入; 否则它将在当前名称空间中解析 <?php namespace App; use Illuminate\Database\Eloquent\Model; use GetStream\StreamLa

Can';从Laravel控制器进行分页

我使用Laravel才几天,所以这是一个新手问题。我尝试了很多东西,但我无法将结果分页 我试过了 $productos = Producto::paginate(8); 而不是 $productos = Producto::get(); 我得到了前8个结果,但我不能用links方法分页,得到一个 '方法链接不存在' 错误 使用这些代码,我得到了所有的结果,但我需要几页来排序。你能帮助我吗?谢谢你应该试试这个: public function totalProductos() { $

Laravel 如何使用GitlabCI在远程主机上导出环境变量

我正在使用GitlabCI部署我的Laravel应用程序。 我想知道如何管理.env文件。据我所知,我只需要将.env.example置于版本控制之下,而不是具有实际值的版本 我已经在GitlabSettings->CI/CD->Environment Variables中设置了我的应用程序需要的所有密钥,我可以在运行程序上使用它们,例如检索SSH私钥以连接到远程主机,但是我应该如何将这些变量部署到远程主机呢?我是否应该使用bash在“运行时生成的”.env文件中编写它们,然后复制它?我应该在远

Laravel 如何修复';Facebook检测到MyApp不是';t使用安全连接传输信息;拉维误差

我正在尝试使用Laravel和社交名媛软件包将我的应用程序连接到facebook登录。但我不知道facebook为什么显示此错误。我搜索了internet,但找不到任何内容。如何修复此错误 我想,如果我使用https建立连接,它会工作,但在使用https后,再次出现错误 我在laravel中的代码: web.php Route::get('login/{provider}', 'SocialController@redirect'); Route::get('login/{provider}/c

Laravel 邮递http://localhost:8000/broadcasting/auth 403(禁止)/用于客户服务聊天,其中我只需要管理员身份验证

我怎样才能为管理员使用广播/auth,但不为普通用户使用,并且两者仍然可以相互聊天 //广播服务提供商 public function boot() { Broadcast::routes(); require base_path('routes/channels.php'); } //Channels.php Broadcast::channel('App.User.{id}', function ($user, $id) { return (int) $user->

重载属性Laravel面片的间接修改

我收到错误500(间接修改重载属性App\Example::$exampleName无效) 关于我的更新方法,我不知道为什么 public function update(Request $request, Example $example) { $data = $request->validate([ 'account_name' => 'required|string', 'name'=> 'nullable|string',

Laravel 流\u套接字\u客户端():无法连接到tcp://smtp.sendgrid.net:587

我使用Sendgrid服务发送电子邮件。在我当地的环境中,它工作得很好。但是我在生产服务器环境中遇到了以下错误 Swift_TransportException GET/rpc/insurances/sendregisemail/a9e13e20-2910-11ea-88e2-534f2fd3cc6a。 无法与主机smtp.sendgrid.net建立连接:流\u套接字\u客户端():无法连接到tcp://smtp.sendgrid.net:587 (连接被拒绝) 这解决了我的问题 MAIL\u

Laravel API-更新或创建

我正在使用updateOrCreate存储动态字段中的数据。更新工作正常,但我在添加新行时出错 public function store(Request $request) { foreach($request->rows as $row) { $db = Book::updateOrCreate(['id' => $row['id']]); $db->author_id = $request->author_id; $db-

Laravel 将证书验证设置为false,这有多不安全?

最近,我发现自己正在使用Guzzle,同时请求另一台服务器发布和获取一些数据,在某些情况下是令牌。但我得到了一个证书无效错误,我甚至试图得到一个新的.pem证书,但Guzzle仍然不接受并不断抛出这个错误。最后,我做了“互联网”所说的: 现在,尽管这个解决方案有效,但我不确定它会有多不安全。我需要担心吗?如果是,在什么情况下?举个例子,这是一个大问题 使用guzzle对您发送的请求使用登录系统 按要求付款/结帐 基本上,任何敏感数据都会被传递到另一台服务器 因为当您在没有SSL证书的情况下传递数

如何跟随Laravel';当多个方法落在同一个操作下时的控制器操作命名约定?

我第一次在Laravel开发一个应用程序。看了几段视频后,我发现我错过了“遵循动作命名约定”的规则。(顺便问一句,那个会议有名字吗?REST似乎不太匹配,但也许我对REST了解不够) 我当前的设置有一个控制器SupportTicketController,其中包括打开或关闭支持票证的方法open()和close()。如果我理解正确,这些是更新操作。我还已经有了一个update()操作来更改票据的详细信息(这需要一个不同于打开/关闭的用户角色) 将同一动作的多个动作转换为Laravel的命名约定的

按laravel中的关系数据分组

我正在获取产品及其关系。我已经这样做了: $data = $this->products->with('images')->with('colors')->where('slug', $slug)->first(); 在产品模型中,我写道: public function images(){ return $this->hasMany('App\Models\ProductImages', 'product_id'); } public functio

Laravel Varbox以编程方式获取草拟项目

我已经创建了一个draftable自定义实体。我注意到,从管理员我可以保存为草稿或发布它 但是,我想知道如何获取所有起草的或发布的记录,以及如何确定单个记录实例是起草的还是发布的 谢谢大家! 根据您所说的,我假设您已经在您的模型上使用了Varbox\Traits\IsDraftabletrait 您可以使用trait公开的查询作用域,以便只获取起草或发布的记录,如下所示: $onlyPublishedRecords=YourModel::withoutDrafts()->get(); $only

动态更改Laravel中的时区

我正在尝试动态更改Laravel应用程序的时区。我需要的是管理员用户将为整个应用程序设置一个时区,该时区将存储在一个表中。每当用户登录时,该时区将应用于所有请求。 我尝试的是;将以下代码添加到AppServiceProvider的启动部分: Config::set('app.timezone', 'Asia/Kabul'); 亚洲/喀布尔将替换为表中的数据。 但在我签入刀片视图时,它不会更改时间。试试这个 config(['app.timezone' => 'Asia/Kabul']);

Laravel Jetstream modal不';不出现

我试图重新使用Jetstream对话框模式,但它似乎不起作用。这是从官方文件中提取的样本 <jet-dialog-modal :show="modal" @close="modal = false"> <template #title> Delete Account </template> <template #con

Laravel禁用调试模式

如何在laravel中禁用调试模式? 我在.env文件中更改为APP_DEBUG=false,但仍显示错误消息。 我还签入了config/app.php,它还有'debug'=>env('app_debug',false) 在其他需要更改的地方运行此命令 php artisan optimize:clear 然后再次检查运行此命令 php artisan optimize:clear 然后再次检查clear cache and configphp artisan clear:cache&&p

为什么laravel广播频道有默认前缀?

目前,我正在使用react native开发一个移动应用程序,作为后端,我正在使用Laravel 作为客户端的通道客户端库,我正在使用 这就是我的频道路线在后端的样子 Broadcast::channel('conversation.{message_id}', function ($user,$id) { return true; }); 我可以成功地广播,但在pusher调试控制台,我注意到路由中添加了前缀(private-) 以下是我如何聆听这一事件

Laravel 使用GET方法进行请求验证isn';t在拉雷维尔工作8-雷帕查

我试图将recaptcha集成到一个查询表单中,用户只输入一条数据,然后返回从数据库中提取的结果 我正在使用 但需要控制器进行验证 类似的内容会出现在您的文档中 $validate = Validator::make(Input::all(), [ 'g-recaptcha-response' => 'required|captcha' ]); 调整为拉威尔8 但是因为我的表单是GET方法,所以我不能使用验证,所以我使用您的智慧来实现与recaptcha的集成 这是我的清单

Laravel 拉威尔8罐';t触发模式和下拉列表

所以我想在我的项目中使用引导模式,我遵循了关于模式的官方引导文档,为了测试它,我只需将代码复制并粘贴到我的刀片上。不知怎的,在我按下按钮后,模态没有出现。我几乎可以肯定,我遵循了文档 我意识到下拉功能也会出现这种情况 有人能帮我吗 模态 启动演示模式 情态标题 &时代; ... 接近 保存更改 下拉列表: <div class="dropdown"> <button class="btn btn-secondary dropdown-tog

Laravel 我得到错误没有为DigBreadcrumbs插件的错误定义提示路径?

在Laravel8中,我想添加tailwindcss 2.1应用程序 因此,在安装时,我使用以下命令修改了config/breadcrumbs.php: '查看'=>'部分.面包屑::顺风' 因为我想修改我创建的文档中的污损颜色 包含描述内容的resources/views/partials/breadcrumbs.blade.php文件 我用所需的breadcrumbs定义填充了routes/breadcrumbs.php文件。 但我有一个错误: No hint path defined fo