小编Pat*_*ros的帖子

无法与主机 mailhog 建立连接:stream_socket_client()

mailhog我在向新用户发送电子邮件以创建密码时遇到错误。

错误

Connection could not be established with host mailhog :stream_socket_client(): php_network_getaddresses: getaddrinfo failed: No such host is known.
Run Code Online (Sandbox Code Playgroud)

.env 配置

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="dev@example.com"
MAIL_FROM_NAME="${APP_NAME}"
Run Code Online (Sandbox Code Playgroud)

laravel mailhog

6
推荐指数
1
解决办法
2万
查看次数

如何在PHP中访问stdClass对象的元素

我已经尝试了其他帖子的解释我无法让它工作,因为我总是得到以下警告:警告:get_object_vars()期望参数1是对象,数组给出...

stdclass对象数组如下所示:

Array
(
    [0] => stdClass Object
        (
            [pares] => 4
            [moda] => 9
        )

    [1] => stdClass Object
        (
            [pares] => 3
            [moda] => 8
        )

    [2] => stdClass Object
        (
            [pares] => 2
            [moda] => 8
        )

    [3] => stdClass Object
        (
            [pares] => 5
            [moda] => 4
        )

    [4] => stdClass Object
        (
            [pares] => 1
            [moda] => 1
        )

    [5] => stdClass Object
        (
            [pares] => 6
            [moda] => 1
        )

)
Run Code Online (Sandbox Code Playgroud)

我尝试分别访问值 - modas和pares及其数字 …

php arrays object stdclass

3
推荐指数
1
解决办法
4002
查看次数

有没有办法用西班牙语比较两个字符串,而不管 PHP 中的重音如何?

我的问题是,鉴于我有以下 php 代码来比较两个字符串:

   $cadena1='JUAN LÓPEZ YÁÑEZ';
   $cadena2='JUAN LOPEZ YÁÑEZ';

   if($cadena1===$cadena2){
     echo '<p style="color: green;">The strings match!</p>';
   }else{
     echo '<p style="color: red;">The strings do not match. Accent sensitive?</p>';
   }
Run Code Online (Sandbox Code Playgroud)

我注意到,例如,如果我比较LOPEZLÓPEZ,则比较结果为假。

无论西班牙口音如何,是否有一种方法或功能可以比较这些字符串?

php string comparison compare string-comparison

3
推荐指数
1
解决办法
978
查看次数

在自定义路径中创建组件后找不到 Livewire 组件

如文档中所述,您可以在自定义路径中创建组件,该路径与默认路径views/livewire/Http/Livewire. 只是为了更好的组织,我创建了子文件夹:

$ php artisan make:livewire tutorial/counter
Run Code Online (Sandbox Code Playgroud)

所以我在以下路径中获取了我的文件:

  • views/livewire/tutorial/counter.blade.php
  • Http/Livewire/Tutorial/Counter.php

为了在视图中测试组件,我创建了一个/livewire/tutorial/welcome.blade.php具有以下内容的组件:

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Livewire tutorial: counter</title>

    <!-- Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">

    <!-- Styles -->
    <style>
        /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}} …
Run Code Online (Sandbox Code Playgroud)

laravel-livewire

3
推荐指数
1
解决办法
3万
查看次数

删除相关的hasManyThrough模型

我有一些与彼此相关的模型,如下所示:

Order
  - hasMany(CartItem)
  - hasManyThrough(Product, CartItem)

CartItem
  - belongsTo(Order)
  - hasOne(Product)

Product
  - belongsTo(CartItem)
Run Code Online (Sandbox Code Playgroud)

通过调用动态属性和方法表单(例如$order->products,$order->products()对于Order模型),验证所有关系都在工作

现在我想删除与特定订单相关的所有产品,所以我尝试了这个(订单ID = 3):

Order::find(3)->products()->delete()
Run Code Online (Sandbox Code Playgroud)

但这不起作用.由于某种原因,我收到错误消息,指出无法找到加入列:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'cart_items.order_id' in 'where clause' (SQL: delete from `products` where `cart_items`.`order_id` = 3)  
Run Code Online (Sandbox Code Playgroud)

然而,原始SQL输出(使用toSql())确实包括连接...

谁知道这里有什么问题?

relational-database eloquent laravel-4

2
推荐指数
1
解决办法
1006
查看次数

PHP警告:array_filter()期望参数2是有效的回调,第二个数组成员不是有效的方法

我最初有一个大数组,我从数据库中得到了一个简短的版本:

$arreglo =Array
(
    "0" => Array
        (
            "concurso" => 2600,
            "R1" => 1
        ),

    "1" => Array
        (
            "concurso" => 2602,
            "R1" => 1
        ),

    "2" => Array
        (
            "concurso" => 2603,
            "R1" => 1
        ),

    "3" => Array
        (
            "concurso" => 2648,
            "R1" => 1
        ),

    "4" => Array
        (
            "concurso" => 2653,
            "R1" => 1
        ),

    "5" => Array
        (
            "concurso" => 2655,
            "R1" => 1
        ),

    "6" => Array
        (
            "concurso" => 2698,
            "R1" => 1 …
Run Code Online (Sandbox Code Playgroud)

php arrays callback array-filter

2
推荐指数
1
解决办法
5905
查看次数

通过包含在twig和slim框架中传递字符串变量

我正在使用Slim Framework和Twig.

我想通过使用部分来应用DRY.我有一个表单,可以在几个视图中重复使用不同的变量,如标题和路由(url)名称.

我正在努力如何使其在URL名称上工作.

例如,在视图中使用带有参数的'urlFor'帮助器的链接如下:

<a href="{{urlFor('route.name', {parameter: value})}}">The link</a>
Run Code Online (Sandbox Code Playgroud)

这就是我想传递给部分模板的链接,因为它在每个视图中都不同,我想使用部分表单.我尝试了几种方法,但它不起作用.我不知道如何传递包含'内部的字符串.

例如,我在父视图中尝试了这样的部分调用,如下所示:

{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name', {parameter: value})"} %}
Run Code Online (Sandbox Code Playgroud)

在里面的部分像这样:

<a href="{{theUrl}}">Show more</a>
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为在浏览器的URL中我看到以下内容:

http://myproject.dev/pages/urlFor('route.name',%20%7Bparameter:%201%7D)
Run Code Online (Sandbox Code Playgroud)

看起来它没有正确转义.有什么想法如何通过路由名称来解决这个问题urlFor()

slim twig

2
推荐指数
1
解决办法
1026
查看次数

如何计算Laravel中集合的不同值?

我一直在努力研究如何从Eloquent中的集合中获取不同值的数量.

我一直在尝试几种方法,比如在docs上找到的unique(),values()等.即使确实存在count()方法,也没有方法来获取不同值的计数.

例如,通过应用以下查询

$technicalshighestdegrees = Capsule::table('academicinfo AS fa')
        ->selectRaw('DISTINCT fa.academic_id AS Id,c.name AS Degree')
        ->leftJoin('academics AS a','fa.academic_id','=','a.id')
        ->leftJoin('cat_degree AS c','fa.level','=','c.id')
        ->whereIn('a.type',['Technical'])
        ->where('a.status','!=','Retired')
        ->where('c.degree',true)
        ->orderBy('a.id')
        ->orderBy('c.hierarchy','desc')/*http://stackoverflow.com/a/17006377/1883256*/
        ->get();
Run Code Online (Sandbox Code Playgroud)

我收到这个系列:

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => stdClass Object
                (
                    [Id] => 3
                    [Grado] => Master
                )

            [1] => stdClass Object
                (
                    [Id] => 3
                    [Grado] => Bachelor
                )

            [2] => stdClass Object
                (
                    [Id] => 4
                    [Grado] => Master
                )

            [3] => stdClass Object
                (
                    [Id] => 4 …
Run Code Online (Sandbox Code Playgroud)

laravel eloquent

2
推荐指数
2
解决办法
6839
查看次数

laravel carbon从集合的日期列中获取日期名称

我有一个数据库中的这个集合,我有一个名为"event_date"的列.

我想要的只是获取集合中该列的日期名称.

我知道你可以使用Carbon来获取名称的日期,例如,一个名为的方法->format(),但是我得到一个错误,说这个方法不存在.

我的代码到目前为止如下:

$collection = MyModel::all();
Run Code Online (Sandbox Code Playgroud)

里面有"event_date"属性或列.从那以后,我想得到将它们放入数组或集合中的日期名称,并最终计算那些天数.

为了实现这一点,我尝试了以下方法:

我尝试了->pluck()如下方法:

$filtered = collect([
            'myDates'=>$collection->pluck('event_date'),
        ]);
Run Code Online (Sandbox Code Playgroud)

dd($filtered)看起来像如下:

Collection {#209 ?
  #items: array:1 [?
    "myDates" => Collection {#243 ?
      #items: array:30 [?
        0 => Carbon {#244 ?
          +"date": "2017-02-05 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        1 => Carbon {#218 ?
          +"date": "2017-01-15 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        2 => Carbon {#250 ?
          +"date": "2016-09-25 00:00:00.000000"
          +"timezone_type": 3
          +"timezone": "America/Mexico_City"
        }
        3 => Carbon {#249 ? …
Run Code Online (Sandbox Code Playgroud)

php laravel php-carbon laravel-5

2
推荐指数
4
解决办法
1万
查看次数

Laravel 8 Livewire 组件未定义的变量:标头

我在Jetstream中创建了一个Livewire组件,并将其设置为web.php路由页面中的全页组件,如下所示:

use App\Http\Livewire\PostComponent;
...
Route::get('posts/',PostComponent::class)->name('posts');
Run Code Online (Sandbox Code Playgroud)

post-component.blade.php文件最初有以下代码:

<div>
    <h1>If you look to others for fulfillment, you will never truly be fulfilled.</h1>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我点击 URL,.../posts我会收到以下错误:

未定义的变量:标题(查看:/home/vagrant/laravelapp/resources/views/layouts/app.blade.php)

所以我尝试在文件中添加插槽post-component.blade.php

<x-app-layout>
    <x-slot name="header">
        <h2 class="font-semibold text-xl text-gray-800 leading-tight">
            {{ __('Dashboard') }}
        </h2>
    </x-slot>
    <div>
        <h1>If you look to others for fulfillment, you will never truly be fulfilled.</h1>
    </div>
</x-app-layout>
Run Code Online (Sandbox Code Playgroud)

尽管如此,我还是遇到了同样的错误。

我缺少什么?我该如何解决?

laravel laravel-livewire

2
推荐指数
1
解决办法
8187
查看次数