微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们可以只将虚拟数据添加到 2 列,而将其他列保留在 Laravel 的工厂文件中吗?

如何解决我们可以只将虚拟数据添加到 2 列,而将其他列保留在 Laravel 的工厂文件中吗?

我这里有 2 列我只想添加虚拟数据,而不在我的模型工厂文件中包含其他列。那可能吗?我使用 faker 添加虚拟数据和 Picqr PHP 条码生成器。

以下是我的工厂文件

<?PHP

namespace Database\Factories;

use App\Models\Product;
use Illuminate\Database\Eloquent\Factories\Factory;
use Picqer;

class ProductFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Product::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function deFinition()
    {
        $code = $this->faker->bothify('PHZM-##########');
        $barcode = $this->generateBarcode($code);
        return [            
            'code' => $code,'barcode' => $barcode,];
    }

    private function generateBarcode($code_to_convert) {
        $generator = new Picqer\Barcode\BarcodeGeneratorHTML();
        $barcode = $generator->getBarcode($code_to_convert,$generator::TYPE_CODE_128,1,15);
        return $barcode;
    }
}

然后这是我的迁移文件

<?PHP

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateProductsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('products',function (Blueprint $table) {
            $table->increments('id');
            $table->string('code');
            $table->text('barcode')->nullable();
            $table->string('name');
            $table->longText('description');
            $table->string('size');
            $table->string('unit');
            $table->float('cost');
            $table->float('srp');
            $table->string('supplier');
            $table->integer('qty_on_hand')->nullable();
            $table->string('category');
            $table->dateTime('delivery_date');
            $table->timestamp('created_at')->nullable();
            $table->timestamp('updated_at')->nullable();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('products');
    }
}

非常感谢任何帮助。

我想不出要写的词,对不起。 Lorem ipsum dolor 坐 amet,consectetur adipiscing 精英。 Fusce finibus tincidunt quam,et lacinia ex maximus quis。 Aenean posueretellus at pretium suscipit。 Phasellus semper totortor a nisl ornare cursus。 Ut eget convallis purus。 Phasellus non semper metus,nec blandit dolor。 Vestibulum non sapien non mi vehicula semper。 Quisque a quam quis enim facilisis porttitor。 Nullam luctus pretium justo nec 拍卖人。 Praesent lacus nibh,suscipit a ligula nec,commodo malesuada felis。 Vivamus ut nisi id purus consectetur volutpat quis id lacus。 Maecenas consectetur pharetra erat vel posuere。 Fusce id augue 坐在 amet neque suscipit lobortis。 Proin tempor semper urna sed pellentesque.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。