За последние 24 часа нас посетили 18280 программистов и 1581 робот. Сейчас ищут 1157 программистов ...

Фабрики и типы данных в них

Тема в разделе "Laravel", создана пользователем lordconst, 16 мар 2020.

  1. lordconst

    lordconst Активный пользователь

    С нами с:
    7 дек 2019
    Сообщения:
    154
    Симпатии:
    1
    Решил попробовать использовать фабрики. К примеру, имеем фабрику RoomFactory, связанную с моделью Room.
    В миграции к этой модели есть следующие поля: square (площадь, тип bigInteger), rent_price (стоимость аренды, также число). Пытаюсь прописать в фабрике тип, но не могу найти в списке то что нужно (предполагаю, что нужно что-то связанное с integer, но не могу найти ни в гугле, ни в предложенном списке phpstorm).
    Кто-нибудь видел где можно посмотреть список таких типов для фабрик?
     

    Вложения:

  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.854
    Симпатии:
    748
    Адрес:
    Татарстан
    Да е-мае, что за неуважение к форуму, правила бы почитали. Что трудно копи -паст сделать и в нужный тег обернуть все?
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.760
    А обычный rand() не подойдёт?
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.760
  5. lordconst

    lordconst Активный пользователь

    С нами с:
    7 дек 2019
    Сообщения:
    154
    Симпатии:
    1
  6. lordconst

    lordconst Активный пользователь

    С нами с:
    7 дек 2019
    Сообщения:
    154
    Симпатии:
    1
    Пардон, можно вопрос еще? Я ввел randomDigit, он говорит нет такого в Faker/Generator. По ссылке вижу, что там другие пространства , например, Provider\Base, Provider\Payment и другие. Мне надо просто добавить пространство в Faker\Provider\Base as Faker, чтобы сработало randomDigit?
    или как?
     

    Вложения:

  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.105
    Симпатии:
    1.243
    Адрес:
    там-сям
    Ты же копируешь из примеров. В этих примерах есть () после randomDigit ?
    Ещё один скриншот в подобном контексте и получшь бан.
     
  8. lordconst

    lordconst Активный пользователь

    С нами с:
    7 дек 2019
    Сообщения:
    154
    Симпатии:
    1
    В предыдущей теме скинули ссылку на поля для фабрик, часть нашел для себя, но осталось два поля, которые нужно сделать. Это дата истечения договора (т.е. в будущем наступит) и Юридическое или Физическое лицо.
    Как можно манипулировать полями, чтобы получить такие значения? Касательно даты видел $max = 'now', а про тип лица вообще молчу
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.579
    Симпатии:
    1.760
    Ну немного фантазии можно?

    PHP:
    1. $arr = ['физ лицо', 'юр лицо'];
    2.  
    3. for ($i = 0; $i < 10; $i++) {
    4.     echo $arr[(int) rand(0, 100) > 50] . "\n";
    5. }
    PHP:
    1. $n = rand(20, 200);
    2. echo date('Y-m-d', strtotime("+$n days"));
    Кто сказал, что в фабриках всё должно быть сделано через Faker, а остальные функции php нельзя использовать?
     
  10. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    randomElement(array $items): mix $item