标签: laravel-artisan

带有 Laravel Mailable 的 Lumen 5.4

天真的问题:有没有办法使用 Artisan 在 Lumen 框架中创建一个 Mailable 类,如下所示:(php artisan make:mail OrderShipped示例取自文档)。

这是composer.json

{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=5.6.4",
    "laravel/lumen-framework": "5.4.*",
    "vlucas/phpdotenv": "~2.2",
    "firebase/php-jwt": "^4.0",
    "guzzlehttp/guzzle": "^6.3",
    "illuminate/mail": "5.4",
    "phanan/cascading-config": "~2.0"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "phpunit/phpunit": "~5.0",
    "mockery/mockery": "~0.9"
},
"autoload": {
    "psr-4": {
        "App\\": "app/"
    }
},
"autoload-dev": {
    "classmap": [
        "tests/",
        "database/"
    ]
},
"scripts": {
    "post-root-package-install": [
        "php -r \"copy('.env.example', '.env');\"" …
Run Code Online (Sandbox Code Playgroud)

laravel lumen laravel-5.4 laravel-artisan

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

Laravel 命令短选项

我正在 Laravel 中制作自定义 Artisan 命令,我想传递选项。然而,我看到例如make:controller可以选择通过传入-r或 来创建资源控制器--resource。我的命令现在定义如下:

protected $signature = 'make {name} {--flag=?}';
Run Code Online (Sandbox Code Playgroud)

但是当我执行-hfor 命令帮助时,我只看到--flag一个选项。我想提供一个选项来编写-f并传入标志。

我试过这样

protected $signature = 'make {name} {-f=?} {--flag=?}';
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

php command laravel laravel-artisan

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

Laravel:类 App\Posts 不存在

我在 Laravel 中多次遇到这个错误,因为使用模型类时说这个类不存在,但它确实存在。其中之一是当我 App\Post::count()tinker一起运行时得到了这个:

PHP 致命错误:在第 1 行的 Psy Shell 代码中找不到类“App/Post”

其中之一是当我尝试用模型为数据库播种时。这是模型内容:

namespace App;    
use Illuminate\Database\Eloquent\Model;   
class Dog extends Model
{   
    //   
} 
Run Code Online (Sandbox Code Playgroud)

这是播种者:

<?php
use Illuminate\Database\Seeder;
 use \App\Dog;   
class DogsTableSeeder extends Seeder
{
/**
 * Run the database seeds.
 *
 * @return void
 */
    public function run()
    {
        Dog::query()->create(['name'=>'jack']);
    }
}
Run Code Online (Sandbox Code Playgroud)

出现此错误:找不到类“App\Dog”。这适用于我创建的每个模型。
有什么解决办法吗?(Laravel -V:5.4,PHP -V:7.2,Apache 网络服务器)

php laravel laravel-artisan

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

php artisan migrate 卡在命令开头

[MacOS 10.14.0] 当我创建一个新项目 ( Laravel new blog) 然后在 MySQL 中创建一个表 ( create database blog) 然后使用正确的用户名、密码和数据库更新我的 .env 文件。

创建项目后,我将运行php artisan migrate 但我的终端保持为空,我可以在终端中输入。但它不会做任何事情。

我的存储/日志文件夹是空的。

我的数据库/迁移文件夹中有 2 个默认迁移文件。

php migrate list作品

会是什么?

php laravel laravel-5 artisan-migrate laravel-artisan

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

生成为 Laravel 作业队列创建表的迁移?

我正在尝试设置一个表以便在 Laravel 中异步执行作业。我已经编写了作业类并且可以调度它。但是它是同步调度的。

当我尝试创建迁移时,php artisan queue:table收到以下错误:

[Symfony\Component\Console\Exception\CommandNotFoundException]     
Command "queue:table" is not defined.                             
Did you mean one of these?                                      
queue:failed                                                
queue:work                                                  
queue:restart                                               
queue:listen                                                
queue:retry                                                 
queue:forget                                                
queue:flush
Run Code Online (Sandbox Code Playgroud)

我注意到我最初在配置目录中没有queue.php 文件,因此我从存储库中添加了该文件并更改'default' => env('QUEUE_DRIVER', 'sync')'default' => env('QUEUE_DRIVER', 'database'),

我还在我的 .env 文件中进行了QUEUE_DRIVER=sync更改。QUEUE_DRIVER=database

我是 Laravel 作业队列的新手,所以我不确定我错过了什么。如何创建迁移以利用数据库队列驱动程序?

更新:我最终只是在 postgres 数据库中创建了一个作业表,我按照Lumen 文档中描述的结构用于其余数据,并使用它来存储作业,但仍然好奇为什么该queue:table功能不可用。

Laravel 框架版本 Lumen (5.3.3) (Laravel Components 5.3.*)

php laravel laravel-5 lumen laravel-artisan

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

为什么 php artisan make:factory 不使用模型生成

长话短说,我的 Larvel 8 (Jetstream) 应用程序中有一个名为 Board 的模型。我正在尝试为该板模型生成一个工厂。

当我使用以下任一命令时:

php artisan make:factory BoardFactory
Run Code Online (Sandbox Code Playgroud)

或者

php artisan make:factory BoardFactory --model=Board
Run Code Online (Sandbox Code Playgroud)

我生成了一个看起来没有错误或问题的工厂类。但是,当我打开该类时,它包含与模型无关的内容。

<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class BoardFactory extends Factory{
    /**
     * Define the model's default state. 
     *
     * @return array
     */
    public function definition()
    {
        return [
            //
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经对我的应用程序中的所有模型进行了尝试,并且这种情况仍然存在。再次没有错误表明找不到模型。该命令看似成功运行,但显然尚未为模型生成工厂。

我知道如果需要的话我可以轻松地手动编写此内容,但我想了解为什么这不起作用以及如何修复它。我越快通过测试...就越好:)

预先感谢您的任何帮助。

php web laravel laravel-artisan laravel-8

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

从控制台调用 laravel artisan 命令

我正在尝试自学 Laravel 命令,以便稍后我使用它来安排它们。这是我的内核文件:

    namespace App\Console;

    use Illuminate\Console\Scheduling\Schedule;
    use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

    class Kernel extends ConsoleKernel
    {
        /**
         * The Artisan commands provided by your application.
         *
         * @var array
         */
        protected $commands = [
            //
            'App\Console\Commands\FooCommand',      
        ];

        /**
         * Define the application's command schedule.
         *
         * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
         * @return void
         */
        protected function schedule(Schedule $schedule)
        {
            // $schedule->command('inspire')
            //          ->hourly();
            $schedule->command('App\Console\Commands\FooCommand')->hourly();
        }

        /**
         * Register the Closure based commands for the application.
         *
         * @return void
         */
        protected …
Run Code Online (Sandbox Code Playgroud)

command laravel laravel-artisan

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

Laravel 迁移查找失败的迁移

因此,当您运行php artisan migrate并失败时,它会在终端中显示错误。

有没有办法查看哪个迁移文件导致错误?我想获取该迁移的文件名。

php migration laravel laravel-artisan

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

Laravel:在迁移中显示控制台命令的输出?

我创建了一个命令来对一个非常大的数据库表进行一些数据操作,因为它需要足够的时间来完成,我利用了进度条的好处加上在控制台上回显了一些信息。

为了自动化操作并减少人为错误,我想使用以编程方式执行命令的样式在 Laravel 迁移中调用我的命令并且它可以工作,但问题是它不会从控制台内的相应命令打印任何输出

我想我应该将当前使用的输出缓冲区传递artisan:migrateArtisan::call函数以使其工作,但没有运气在迁移中访问它

有什么建议?

laravel artisan-migrate laravel-artisan

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

有没有办法禁用工匠命令?

有没有办法完全禁止运行 artisan 命令?

例如,如果我想禁用php artisan migrate:fresh运行,我应该去哪里删除/禁用命令?

config laravel laravel-artisan

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