如何通过引用另一个模型来创建新模型对象

时间:2018-07-04 17:39:54

标签: php laravel laravel-5 eloquent

我有一个函数,其中我将模型作为参数来从该模型值创建段塞值,并且在创建段塞后,我要检查同一表中是否存在该段塞值。

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 :(得分:3)

您可以尝试使用以下示例,假设,$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
}