Как создать объект New model по ссылке на другую модель - PullRequest
0 голосов
/ 04 июля 2018

У меня есть функция, в которой я беру модель в качестве параметра для создания значения слагаемого из значений этой модели, и после создания слага я хочу проверить его наличие в той же таблице.

public static function slug_it($model = null)
{
  if(!empty($model)) {
    #from model
    $keys = [/*priority => key to find*/
        1 => 'name', 2 => 'item', 4 => 'title', 3 => 'code', 5 => 'company', 6 => 'code_name', 7 => 'country', 8 => 'city', 9 => 'state', 10 => 'username', 11 => 'first_name', 12 => 'last_name',];
    /* suppose i have slug */
    $slug = 'item_erp5511'; 

    /*slug or sku*/
  } else {

  }
}

Предположим, модель относится к таблице элементов, и я хочу найти слаг в столбце "слаг" этой таблицы, но У меня есть только объект модели этой таблицы .

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете попробовать что-то вроде следующего, презумпция, экземпляр $model = Item::class, и вы хотите найти что-то из таблицы slugs.

// $model = Item::find(1);
$model->getQuery()->from('slugs')->where('slug', $slug)->get();

В качестве альтернативы, если slug_it находится внутри модели, вы можете попробовать:

self::getQuery()->from('slugs')->....->get();

Обновление после вашего последнего комментария

Внутри метода для проверки вы можете сделать:

if (self::where('slug', $slug)->exists()) {
    // Do what you need
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...