标签: eloquent

AWS RDS 数据库无法读取刚刚写入数据库的记录

我看到一些使用 AWS RDS 数据库的 Laravel 代码出错。该代码将一条记录写入数据库,然后立即进行搜索以使用主键加载该记录,但没有得到任何结果。

如果我之后手动尝试,我会找到记录。如果我在代码中插入 1 秒的睡眠,它可以正常工作。

我已经尝试使用 Laravel 的读写主机单独设置。我也尝试将它们设置为同一台主机并且只使用一台主机。结果总是一样的。但是其他具有相同配置的环境没有错误。

RDS 中是否有选项需要更改才能在写入后立即可用。

amazon-rds laravel eloquent

0
推荐指数
1
解决办法
376
查看次数

Laravel Eloquent GroupBy Name 创建 ID 数组

我的 Laravel 应用程序中有一个我想查询的表。

id | company_name | contact |
-----------------------------
1  | Tesco        | Name 1  |
2  | Tesco        | Name 2  |
3  | Asda         | Name 3  |
4  | Tesco        | Name 4  |
5  | Asda         | Name 5  |
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取包含所有 ID 号的所有唯一公司名称的数组。

'Tesco' => [1,2,4]
'Asda' => [3,5]
Run Code Online (Sandbox Code Playgroud)

我试过了

$companies = Contact::select('company_name','id')->groupBy('company_name')->get();
Run Code Online (Sandbox Code Playgroud)

然而,这要求将“id”包含在违背目的的组中。我知道它要求这样做是因为它不是 SUM 或 COUNT 等。

上表可能看起来不寻常,我知道我应该与公司表有关系,但这在现阶段是必要的。

php laravel eloquent

0
推荐指数
1
解决办法
990
查看次数

如何使用laravel eloquent查询用户并按年龄范围对他们进行分组

我想查询用户并按年龄范围对他们进行分组

这是我到目前为止所做的

User::applicant()->get()
                ->groupBy(function ($item) {
                    return Carbon::parse($item->dob)->age;
                })
                ->map(function ($collection) {

                    return $collection->count();
                });
Run Code Online (Sandbox Code Playgroud)

这是我从上面的查询中得到的

在此处输入图片说明

现在想按年龄范围获取集合和订单

18-24: 1,
25-35: 5,
36-45: 89,
46+ : 84
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5

0
推荐指数
1
解决办法
1886
查看次数

对 Laravel 的 hasOne Eloquent 关系感到困惑

我有一个新的 Laravel 5.8 应用程序。我开始使用 Eloquent ORM 及其关系。

我马上就遇到了一个问题。

我有以下表格。(这只是一个示例,出于测试原因,不会成为实际应用程序)

Login table:
--------------------------
| id | user    | data_id |
--------------------------
| 1  | admin   | 1       |
| 2  | admin   | 2       |
| 3  | admin   | 3       |
--------------------------

Data table:
--------------
| id | ip_id |
--------------
| 1  | 1     |
| 2  | 2     |
| 3  | 3     |
--------------

IP table:
----------------------
| id | ip            |
----------------------
| 1  | 192.168.1.1 …
Run Code Online (Sandbox Code Playgroud)

laravel eloquent laravel-5 eloquent-relationship

0
推荐指数
1
解决办法
3051
查看次数

Laravel db:种子成功但我的数据库中没有数据

我试图在 Laravel 中制作简单的种子,但是当我执行“php artisan db:seed”时,它没有填满我的领域。

我制作了我的类别播种机文件,这是我的类别播种机文件:

class CategoryTableSeeder extends Seeder
{
    public function run()
    {
        $categori1 = new Category;
        $categori1->name = "Books";
        $categori1->save();
        $categori2 = new Category;
        $categori2->name = "Backpacks";
        $categori2->save();

    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的类别模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    //
}
Run Code Online (Sandbox Code Playgroud)

这是我的类别表迁移文件的一部分:

    public function up()
    {
        Schema::create('categories', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->timestamps();
        });
    }
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent

0
推荐指数
1
解决办法
1876
查看次数

通过 laravel 自定义请求类的参数太少

在数据库中创建新租户时,我添加了一个用于验证数据的自定义请求类。出于某种原因,虽然我收到以下错误:

这是我的自定义请求类:Too few arguments to function App\\Http\\Requests\\CreateTenantRequest::Illuminate\\Foundation\\Providers\\{closure}(), 0 passed and exactly 1 expected在第 51 行,这是 message() 函数的右括号所在的位置

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;

class CreateTenantRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $product_id = $this->get('product_id');

        return [ …
Run Code Online (Sandbox Code Playgroud)

laravel eloquent laravel-validation

0
推荐指数
3
解决办法
1807
查看次数

未找到列:“where 子句”中的 1054 列“orders.deleted_at”未知

在我的表中,我没有 delete_at 列。

但在 Laravel 模型中,在 where 条件下,deleted_at 返回 null。

下面是我的代码

public function load($id) {

        return $this
            ->select(sprintf('%s.*', $this->getTable()))
            ->where(sprintf('%s.id', $this->getTable(), $this->getKeyName()), '=', $id)
            ->first();
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?如何解决这个问题?

soft-delete laravel eloquent laravel-5

0
推荐指数
1
解决办法
4803
查看次数

获取按天分组的行的最小值和最大值

我想用 Laravel Eloquent 返回按天分组的每条记录的最小值和最大值,所以这里是:

表结构:费率

id     buy_rate     sell_rate     market_currency_id     created_at
==     ========     =========     ==================     ==========
1      10           7             44                     2020-10-10
2      10           9             44                     2020-10-10
3      10           8             44                     2020-10-10
4      10           12            44                     2020-10-11
5      10           14            44                     2020-10-11
6      10           13            44                     2020-10-11
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的数据:

$rates = Rate::
select('sell_rate', \DB::raw("DATE_FORMAT(created_at, %Y-%m-%d) day))
->where('market_currency_id', '=', 44)
->whereBetween('created_at', [2020-10-10, 2020-10-11])
->orderBy('created_at', 'ASC')
->get()
->toArray();
Run Code Online (Sandbox Code Playgroud)

上面的代码返回:

0 => array:2 [?
    "sell_rate" => "8"
    "day" => "2010-10-10"
]
1 => array:2 [? …
Run Code Online (Sandbox Code Playgroud)

php mysql laravel eloquent

0
推荐指数
1
解决办法
99
查看次数

将雄辩的查询构建器方法链接到 find()

有没有办法像where方法一样链接一个雄辩的查询构建器方法find?例如:

Model::find($id)->where('slug', $slug);
Run Code Online (Sandbox Code Playgroud)

这里的想法不是where像这样调用两次:

Model::where('id', $id)->where('slug', $slug);
Run Code Online (Sandbox Code Playgroud)

laravel eloquent

0
推荐指数
1
解决办法
35
查看次数

Laravel 8:迁移如何添加超过 1k 个字符的字符串?

大家好,我有这个迁移吗?我希望表格正文的字符串最多 1000 个字符。我认为一个字符串的默认字符数是 255。我希望你能帮助我,因为我需要输入 700 多个字符串。谢谢你们

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->string('body');
        $table->string('editedby');
        $table->timestamps();
    });
}
Run Code Online (Sandbox Code Playgroud)

migration laravel eloquent laravel-8

0
推荐指数
1
解决办法
55
查看次数