我有两个网站,我想判断一下第二个网站上是否有作者.

$QUOTE始终显示:

In ENV file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=poems
DB_USERNAME=root
DB_PASSWORD=

DB_QUOTES_CONNECTION=quotes
DB_QUOTES_DATABASE=quotes

In config.database.php

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

    'quotes' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_QUOTES_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],
  ]

在AuthController.php中

    public function show($author)
    {
        $author = Author::where('slug', $author)->firstOrFail();
        $poems = $author->poems()->get();

        $quotes = DB::connection('quotes')->table('frasidautore.authors')->select('slug')->where('slug', 'LIKE', '"%{$author->slug}"')->get();

        $author->quotes = ($quotes) ? 'https://www.example.com/authors/' . $author->slug : NULL;

        return view('author', compact(['author', 'poems'])); 
    }

推荐答案

->get()返回Collection,即使为空,它也总是"真实的",所以在三元中使用它是不起作用的.

使用isEmpty()可显式返回truefalse:

$author->quotes = $quotes->isEmpty() ? null : 'https://www.example.com/authors/' . $author->slug';

或者,您也可以简单地使用exists():

quotes = DB::connection('quotes')->table('frasidautore.authors')->where('slug', 'LIKE', '"%{$author->slug}"')->exists();

$author->quotes = $quotes ? 'https://www.example.com/authors/' . $author->slug' : null;

exists()根据前面的条件返回truefalse,并且可以在三元中使用,而不必担心隐含的"真实性".

Laravel相关问答推荐

运行NPM Prod时出现VUE问题

Livewire 基于下拉 Select 自动填充输入框

使用两个日期之间的范围获取两列之间的记录,同时搜索过滤条件

如何通过 Eloquent 获取单个集合中每位教师的学生人数

我的共享主机上的每个帖子请求都出现 503 服务不可用

给定的角色或权限应该使用 guard `` 而不是 `web`. -Laravel

自定义 Laravel 关系?

Laravel PHP 框架的新手. /以外的路由不起作用

调用未定义函数 Illuminate\Encryption\openssl_decrypt()

Laravel 5.7 判断Electron邮件是否经过验证

克隆后设置 Laravel 项目

具有实时和 WebSockets 的 Angular2 + Laravel

在 laravel 中更改时区

file_put_content ...无法打开流:Laravel 5 中的权限被拒绝

Laravel 中间件 except除外规则不起作用

Cookie::forget 不工作 laravel 5.1

Laravel 同步错误

Laravel 和 PHPStorm 项目的 gitignore 中包含什么?

如何在 Laravel 4 中使用 SHA1 加密而不是 BCrypt?

在 laravel 中删除排队的作业(job)