小编Yea*_*fat的帖子

laravel/framework[v10.0.0, ..., v10.0.3] 需要composer-runtime-api ^2.2 -> 找到composer-runtime-api[2.1.0] 但它与约束不匹配

当尝试安装 laravel 10 时,我收到此错误 -

laravel/framework[v10.0.0, ..., v10.0.3] 需要composer-runtime-api ^2.2 -> 找到composer-runtime-api[2.1.0] 但它与约束不匹配。

php laravel composer-php laravel-10

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

使用 laravel sail 添加新服务

我有一个用 Composer 创建的 Laravel 8 项目。然后我添加了 laravel sail by composer require laravel/sail,然后执行了 command php artisan sail:install。命令执行后sail up,仅mysql创建了容器,一切正常。但现在我想添加redis到我的 docker 容器中。我怎样才能做到这一点?我对 Docker 不了解,但 laravel sail 使使用 Docker 变得非常容易。我想redis在 laravel sail 的帮助下添加。有什么办法可以做到这一点吗?

laravel docker laravel-sail

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

whereHas 和 whereDoesntHave 在 laravel eloquent 中未按预期工作

我的查询:

Payment::whereHas('subscription',function($q)
   {
      $q->where('ends_at','>',today());
   })->orWhereDoesntHave('subscription')->where('user_id',1)->first();
Run Code Online (Sandbox Code Playgroud)

输出:

App\Payment {#4339
     id: 6,
     user_id: 317,
     package_id: 6,
     amount: 12500,
     phone: "01849744603",
     transaction_id: "F1234",
     confirmed: 1,
     created_at: "2020-11-29 14:29:08",
     updated_at: "2020-11-29 16:40:03",
   }
Run Code Online (Sandbox Code Playgroud)

我的逻辑是:当我付款时,如果管理员批准付款,则会在一定时间内为特定包创建订阅。我想获取用户未订阅但已付款或订阅未过期的付款信息。我编写了上面的代码,它为我提供了数据库第一笔付款信息的输出。user_id不适用于查询中给定的用户。我应该如何接近?这里有什么问题吗?谁能帮我?

laravel eloquent

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

Laravel 8 的嵌套数据库播种

Laravel 8 在数据库播种方面有一些变化。我想用数据库播种机播种一些相关模型。共有三种型号:User, Post, Comment. 一个用户有很多帖子,一个帖子有很多评论。现在我想创建一些用户,其中包含一些相关的帖子以及与该帖子相关的一些评论。我只能播种一些用户和相关帖子,但不能播种与帖子相关的评论。我有下面的代码:

User::factory(10)->hasPosts(rand(5, 10))->create();
Run Code Online (Sandbox Code Playgroud)

它创建了 10 个用户,并为每个用户创建了 5 到 10 个相关帖子。我可以做什么来播种评论?我可以在单行中完成还是需要换行?注意:我已经为每个模型创建了工厂。

laravel eloquent

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

对惯性响应和 json 响应使用相同的方法 Laravel Jetstream

我一直在使用 Laravel 支持的 API 和 VueJS 支持的前端,这是两个用于单页面应用程序的独立项目。现在我想切换到 Laravel Jetstream 和 Inertia.js,因为我可以在单个项目中创建 SPA。这是惯性如何工作的一个例子 -

class UsersController extends Controller

{
    public function index()
    {
        $users = User::active()
            ->orderByName()
            ->get(['id', 'name', 'email']);

        return Inertia::render('Users', [
            'users' => $users
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我们可以定义Route::get('users',['UserController::class','index']);并获取用户列表localhost:8000/users并在网页中查看用户列表。

我的问题是,我可以在移动应用程序中使用相同的控制器和 API 响应方法吗?

我必须构建具有相同功能的网络应用程序和移动应用程序。对于网络,我需要惯性响应,对于移动应用程序,我需要 json 响应。为了在 Laravel 项目中显示用户列表,我可以使用上面的代码。但是,如何返回return response($users);与移动应用程序中的 JSON 相同的响应呢?我可以创建 API 路由并api.php创建单独的控制器或方法,或者为 API 或 Inertia 响应添加条件,但我认为可能有更好的方法来使用相同的控制器和方法处理 Inertia 和 JSON 响应。

php json inertiajs laravel laravel-jetstream

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