с ларой знаком 3 дня, 2 дня ищу как связать несвязуемое наверное как то так: PHP: protected static function boot() { parent::boot(); static::addGlobalScope(function(Builder $builder) { return DB::raw("LPAD('0', 9, product_code) AS product_code"); }); } Подскажите как правильно сделать?
LPAD вам ни о чём не говорит? есть 2 таблицы, у одной ключ - инт(например 111), у другой варчар(например 000000111) надо сделать джоин. в обычном сиквеле проблем нет, а тут - хз как их связывать.
Да LPAD хрен с ним, я про скоуп. А так, также всё связывается. Только разберись с Query Builder-ом. Твой код демонстрирует полное отсутствие понимания принципов Query Builder и назначения scope, хотя в доке это всё есть. Напиши запрос, который хочешь получить
скоуп мне удобнее - я автоматом тяну сразу всё что надо в том то и дело - чистый сиквел работает, ему на нули в варчар пофиг: PHP: select images.name from rvs_products left join image_id on image_id.product_code = rvs_products.product_code left join images on images.image_id = image_id.image_id where rvs_products.product_id = 128839 скоуп отношение тянет: Код (Text): return $this->hasManyThrough( ProductImages::class, ProductImagesId::class, 'product_code', 'image_id', 'product_code', 'image_id' ); и не работает - нули блин в ключе получается что когда я убираю нули - отношение работает. отсюда мысль - в буте модели посредника модифицировать значение ключа.
так я потому тему и создал в гугле пока не смог найти как в скоуп рав для ячейки засунуть... думал может тут подскажут.