【问题标题】:Laravel Factory : How to make one field have content and the other one be nullLaravel Factory:如何使一个字段具有内容而另一个字段为空
【发布时间】:2022-01-16 00:55:36
【问题描述】:

我正在创建一个标签工厂,我希望它生成 project_tag_id 或 gobal_tag_id 但不能同时生成

return [
    'project_card_id' => ProjectCard::inRandomOrder()->first()->id,
    'user_id' => User::inRandomOrder()->first()->id,

    // to genreate project_tag_id or global_tag_id but not both
    'project_tag_id' => ProjectTag::inRandomOrder()->first()->id,
    'global_tag_id' => $this->faker->numberBetween(1,5),
  ];

对此的任何帮助或见解将不胜感激

【问题讨论】:

    标签: laravel laravel-seeding laravel-factory


    【解决方案1】:

    如果 rand 函数返回甚至插入 project_tag_id 则调用 Random 函数,否则返回 global_tag_id 所以,

    $number=rand(0,10);
    if($number % 2 == 0){
      arr['project_tag_id'] => ProjectTag::inRandomOrder()->first()->id;
      arr['global_tag_id'] => null;
    }else{
       arr['project_tag_id'] => null;
       arr['global_tag_id'] => $this->faker->numberBetween(1,5);
    }
    

    【讨论】:

    • 欢迎您....
    • if (rand(0, 1))
    • 是的,看起来不错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    相关资源
    最近更新 更多