我仍在学习 laravel,并使用 v5.4.28 创建了一个项目,也使用 dev v5.5 进行了测试,两个版本都调用控制器两次,从而插入 2 条记录。仅当我使用 WAMP 并访问http://localhost/laravel/public/test?test=123 时才会发生这种情况
如果我使用 php artisan 服务并访问此 http://127.0.0.1:8000/test?test=123 它只插入一次
如果我使用 chrome 检查并查看我的网络选项卡,我会看到该页面在 wamp 上被调用两次。
这是正常的吗?
将我的routes/web.php编辑为
Route::get('/', function () {
return view('home');
});
Route::get('/test', 'testController@store');
Run Code Online (Sandbox Code Playgroud)
并创建了一个 testController
class testController extends Controller
{
public function store()
{
$test = new Test;
$test ->user_id = request('test');
$test ->save();
//if i put a redirect here then it wont insert twice
}
}
Run Code Online (Sandbox Code Playgroud) 解决方案: laravel new project-name实际上给了我一个我忽略的错误。我的 php 版本错误。它需要phpv7.1.3 或更高版本。如果你没有它,它就不起作用。
遇到了另一个问题:
对于新手:如果您刚刚下载了 php 并解压缩了该文件。它包含一个名为
安装.txt
你必须阅读的内容。它解释了一切。
我laravel new blog从他们的入门页面跑了出来。当我尝试运行时 php artisan serve,出现以下错误:
警告:require(C:\Projects\laravel-projects\blog/vendor/autoload.php):无法打开流:第 18 行 C:\Projects\laravel-projects\blog\artisan 中没有此类文件或目录
artisan 文件指向
require __DIR__.'/vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)
该目录不存在。即使我将其指向正确的目录,它仍然无法工作,因为我没有该文件夹的读取权限(因此它被拒绝)。
这是怎么回事?我该如何解决这个问题?
编辑:将上面提到的网址更改为:
C:\Users\sarkis\AppData\Roaming\Composer\vendor\autoload.php
由于某种原因,这非常有效。现在。出现新错误。
致命错误:未捕获错误:在 C:\Projects\laravel-projects\blog\bootstrap\app.php:14 堆栈跟踪中找不到类“Illuminate\Foundation\Application”:#0 C:\Projects\laravel-projects\blog \artisan(21): require_once() #1 {main} 在第 14 行的 C:\Projects\laravel-projects\blog\bootstrap\app.php 中抛出
发现我没有所需的正确版本的 php。
作为官方文档,它没有太多提及这一点。
App\Console\Commands\PullUsersCommand.php有一个像这样的签名:
protected $signature = 'pull:users {startTime} {endTime} {minutes=10} {--flag} {--star=}';
Run Code Online (Sandbox Code Playgroud)
那么,如何将参数传递给它App\Console\Kernel.php
我想用一个我忘记的额外列来更新我的数据库,所以我删除了我的数据库,并在创建方法和可填充字段中添加了该字段,但每当我迁移它时。它只获取以前的字段,但不添加新字段。问题是什么?
在此输入图片描述我和一位同学正在一家网上商店工作。我们必须分享我们的进展并开始使用 Dropbox,但它太慢了。我们尝试通过本地网络连接我们的电脑,他在“公共访问”文件夹中共享该项目,以便我可以读取和编辑文件,但是当我运行 php artisanserve 命令时,我收到一条消息说不支持 UNC 路由。我对 npm run dev/watch 也有类似的问题,因为它在“C:”中搜索文件,但我不在 C: 上
我尝试将命令更改为 php artisanserve --host 0.0.0.0 --port 80 并更改主机和端口,但它不起作用。还尝试在 PowerShell 上运行这两个命令,我读到它支持 UNC 路由,但它引发了相同的错误。我很绝望,因为已经过去了 4 个小时,而 Dropbox 文件还没有准备好。关于 npm 问题我没有找到有用的答案。抱歉英语不好
$this->options()在 artisan 命令内部进行操作为我提供了每个artisan 命令具有的所有现有选项:
array (9) [\n \'debug\' => boolean true <---------- from me\n \'help\' => boolean false\n \'quiet\' => boolean false\n \'verbose\' => boolean false\n \'version\' => boolean false\n \'ansi\' => boolean false\n \'no-ansi\' => boolean false\n \'no-interaction\' => boolean false\n \'env\' => null\n]\nRun Code Online (Sandbox Code Playgroud)\n\n但我只想得到我自己的,在这个例子中:“ debug ”。
\有什么方法或技巧我可以在这里使用吗?
为什么我需要那个?
\n我想要我的工匠“签名”的唯一哈希以及所有选项和参数。如果 laravel 将来在其默认选项中更改任何内容,我的哈希值也会更改,即使我没有更改任何选项,那 xc2xb4 也很糟糕。
我在谷歌上搜索了很多有关 https 服务的解决方案。即使我尝试了 ngrok,但它也无法正常工作。下面是ngork的代码。
php artisan serve
cd <path-to-ngrok>
./ngrok http localhost:8000
Run Code Online (Sandbox Code Playgroud)
我确信 Laravel 有工匠来提供 HTTPS 服务。
我想由作曲家创建新的 laravel 项目。我使用composer create-project laravel/laravel new-project命令来创建新项目。然后,我的项目是按照这张图片创建的。
我使用 Laravel 的 Artisan CLI 服务命令(先是命令cd new-project,然后是php artisan serve命令)启动 Laravel 的本地开发服务器。但我收到以下错误。
为什么这个项目中没有vendor文件夹?!!!
我该如何修复这个错误?
(我使用的是 PHP 8.1.10)
I have an artisan command (Laravel 10) that makes a change to the user table in the database. I can confirm that the change is happening with output from the command itself, and it looks like it's actually working.
However, when I run the unit test, it does not see the updated database change.
public function test_promote_user_command_sets_user_as_super_admin()
{
$user = $this->createUser('guest');
$response = $this->artisan("user:promote {$user->email}")->assertSuccessful();
$role = Role::where('name', '=', 'Super Admin')->first();
$this->assertDatabaseHas('users', [
'id' => $user->id,
'role_id' => …Run Code Online (Sandbox Code Playgroud) 通常,当我想清除应用缓存时,我会运行php artisan cache:clear但会删除所有缓存条目。我希望做的是通过指定键来忘记命令行中的单个元素。例如,类似的东西php artisan cache:clear --key=userids。
我查看了一些文档,但找不到任何内容。这是可能的,如果可以,如何?