草庐IT

php - 无论如何我都无法处理 SSH 连接错误

我正在尝试处理RunTimeException以通过SSH连接VPS。这是通过SSH连接VPS的代码。$server_ip=Input::get('server_ip');$password=Input::get('password');$validator=Validator::make(['server_ip'=>$server_ip],['server_ip'=>'ip|required|unique:servers'],['password'=>$password],['password'=>'required|confirmed']);if(!$validator->fail

php - 如何重构我嵌套的 3 个深 foreach 循环

我正在使用允许三重数据透视表但不支持批量插入的laravelComposer包。所以我一直循环遍历每个数组,以确保三个表中的每个id在我的三重数据透视表中都有匹配项。我的工作有效,但我想要一些关于如何重构我的函数的建议,这样我就不必有那么多嵌套循环了。我在考虑使用数组映射。publicstaticfunctionaddKeyPhraseToPivotTable($ids){$locations=Location::where('account_id',self::$items[0]['account_id'])->get();$urls=Url::where('account_id',

php - Laravel 5 中的单例类

我使用的是Laravel框架版本5.2.32。我希望创建一个Singleton类,其对象可跨所有Controller访问。我已经实现了如下类。classSingletonClazz{privatestatic$instance;protectedfunction__construct(){//Donothing}publicstaticfunctiongetInstance(){if(empty(SingletonClazz::$instance)){SingletonClazz::$instance=newSingletonClazz();echo'Created';}else{ec

php - Laravel 5.2 - 过滤自定义属性然后分页

所以我知道如何使用paginate()进行分页并且我知道如何根据Accessor进行过滤(集合上的where())。但是,paginate接受一个查询构建器,并且集合上的where()返回一个集合。因此,如果我想通过自定义属性获取一堆项目/过滤器,然后对结果集进行分页....我该怎么做?访问者:publicfunctiongetRequiredToReportAttribute(){//returnbooleanbasedoffofcomplicatedbusinesslogic}索引方法:publicfunctionindex(){//whatimdoing(redacted)$em

php - Laravel:限制嵌套关系

下面是我必须获取所有Discussions以及相关的threads和posts的代码。我试图将帖子数限制为1。当我这样做时,我希望每个线程中只有1个帖子,但是9个线程中没有帖子,1个线程中有1个帖子。App\Discussion::with(['threads'=>function($query)=>{//Correctlylimitsthenumberofthreadsto10.$query->latest()->take(10);},'threads.posts'=>function($query){//Limitsallpoststo1,noteachpostto1foreach

php - Laravel Route 模型绑定(bind)(slug)仅适用于 show 方法?

我在数据库中有Article模型和articles表。每篇文章都可以使用Laravel的标准URI结构显示:www.example.com/articles/5(其中5是文章id)。每篇文章都有一个slug字段(articles表中的slug列),因此对于RouteModelBinding我使用slug而不是id:RouteServiceProvider.php:publicfunctionboot(Router$router){parent::boot($router);\Route::bind('articles',function($slug){return\App\Articl

php - Lumen 从文件中读取 JSON

我正在使用LumenFramework我正在尝试从json为我的数据库播种文件。我正在做这样的事情:publicfunctionrun(){$json=json_decode(file_get_contents('database/seed/file.json'),true);...}但是当我执行种子命令时phpartisandb:seed,我得到这个错误:[ErrorException]file_get_contents(database/seed/file.json):failedtoopenstream:Nosuchfileordirectory我试着这样做:https://st

Php:在 ubuntu 上的 laravel homestead(vagrant)上安装 v8js 时出错

你好,我在laravelhomestead(vagrant)上安装v8js时遇到问题看完这两个图之后1.Installv8jsonLinux(workswithHomestead)!2.InstallingPHPv8jsonUbuntu!我启动了下面的命令$sudoapt-getinstalllibv8-devlibv8-dbgg++cpp$sudopeclinstallv8js-0.1.3另请注意,当它询问我libv8的安装前缀时,我输入了/opt/v8编辑:根据用户的要求,我发布了错误代码并删除了相同的屏幕截图这是我的错误代码当我运行第一个命令时出现此错误$sudoapt-geti

php - Laravel 获取所有具有类别的记录

所以我已经为此苦苦挣扎了一段时间。我不想获取所有包含特定数据透视表category的“产品”。所以我有一条路线:Route::get('products/{category}',['as'=>'category.products','uses'=>'ProductsController@getCatProducts']);还有一个产品模型:publicfunctioncategories(){return$this->belongsToMany(Category::class);}然后是我的Controller:publicfunctiongetCatProducts($categor

php - 更改现有数据库连接的数据库 - Laravel

我最近了解了Laravel框架,它很棒,但我只想知道一个查询,这对我来说仍然是个谜。我知道我们可以很容易地改变“数据库连接”使用$users=DB::connection('mysql2')->select(...);但我正在从事这样一个项目,其中根据用户请求创建多个数据库,并且需要根据用户请求动态访问这些数据库。几乎不可能在数据库配置文件中输入每个数据库条目作为新的数据库连接条目。因此我需要一种方法来在我们使用的同一连接中动态更改数据库。例如。如果我们使用“DB1”连接和配置文件中定义的数据库“test1”,我需要一种方法将“test1”数据库更改为“test2”动态