当尝试安装 laravel 10 时,我收到此错误 -
laravel/framework[v10.0.0, ..., v10.0.3] 需要composer-runtime-api ^2.2 -> 找到composer-runtime-api[2.1.0] 但它与约束不匹配。
我有一个用 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 的帮助下添加。有什么办法可以做到这一点吗?
我的查询:
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 8 在数据库播种方面有一些变化。我想用数据库播种机播种一些相关模型。共有三种型号:User, Post, Comment
. 一个用户有很多帖子,一个帖子有很多评论。现在我想创建一些用户,其中包含一些相关的帖子以及与该帖子相关的一些评论。我只能播种一些用户和相关帖子,但不能播种与帖子相关的评论。我有下面的代码:
User::factory(10)->hasPosts(rand(5, 10))->create();
Run Code Online (Sandbox Code Playgroud)
它创建了 10 个用户,并为每个用户创建了 5 到 10 个相关帖子。我可以做什么来播种评论?我可以在单行中完成还是需要换行?注意:我已经为每个模型创建了工厂。
我一直在使用 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 响应。
laravel ×5
eloquent ×2
php ×2
composer-php ×1
docker ×1
inertiajs ×1
json ×1
laravel-10 ×1
laravel-sail ×1