0

我正在创建一个标签工厂,我希望它生成 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),
  ];

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

4

1 回答 1

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);
}
于 2021-12-11T23:06:02.127 回答