Size: a a a

2020 January 14

SS

Serg Serdyuk in Laravel Pro
ну если я правильно понял задачу, вытащить все товары и по 1 картинке к каждому, попробуй мой вариант с лимитом в самом отношении, вроде должно работать //я еще не проснулся слегка😀
источник

M

Max in Laravel Pro
Serg Serdyuk
хм, а если в with что то вроде
with(['images'=>function($q){return $q->limit(1);}]) ?
один элемент возвращает
источник

FL

First Last in Laravel Pro
Max
С добрым утром,
мне надо картинку получать, к товару, одну, первую,
$products = Product::visible()
           ->with('images')
           ->withCount(['views', 'reviews'])
           ->offset($request->offset)
           ->limit($request->limit)
           ->orderBy($request->sort, 'ASC')
           ->get()
           ->toArray();
Этот кусок кода возвращает все связанные изображения. Чем его дополнить, что бы получать одно? Не могу нагуглить, может ищу не правильно.
Запили акссесор который вернет first
источник

FL

First Last in Laravel Pro
Виталий Емельянов
Коллеги, добрый день ! Словил глюк,

$validatedData = $request->validate([
           'name' => 'required',
           'phone' => 'required|unique:App\Profile,phone|regex:/^((8)+([0-9]){10})$/i',
           'about' => 'required',
           'address' => 'required',
       ]);
если добавляю еще свойство для проверки, пакет $errors не возвращается, только 4 свойства могу добавить. неважно какие
Может кто нибудь сталкивался, куда копать
Быть такого не может
источник

4

4unkur in Laravel Pro
Max
С добрым утром,
мне надо картинку получать, к товару, одну, первую,
$products = Product::visible()
           ->with('images')
           ->withCount(['views', 'reviews'])
           ->offset($request->offset)
           ->limit($request->limit)
           ->orderBy($request->sort, 'ASC')
           ->get()
           ->toArray();
Этот кусок кода возвращает все связанные изображения. Чем его дополнить, что бы получать одно? Не могу нагуглить, может ищу не правильно.
можно отношение добавить
public function firstImage()
{
return $this->images()->limit(1);
}


Product::with(‘firstImage’)
источник

M

Max in Laravel Pro
Max
один элемент возвращает
вернее не один, это я попутал, но второй элемент без картинок вообще
источник

FL

First Last in Laravel Pro
Max
вернее не один, это я попутал, но второй элемент без картинок вообще
Теперь вообще ничерта не понятно что нужно
источник

A

Alex in Laravel Pro
Max
С добрым утром,
мне надо картинку получать, к товару, одну, первую,
$products = Product::visible()
           ->with('images')
           ->withCount(['views', 'reviews'])
           ->offset($request->offset)
           ->limit($request->limit)
           ->orderBy($request->sort, 'ASC')
           ->get()
           ->toArray();
Этот кусок кода возвращает все связанные изображения. Чем его дополнить, что бы получать одно? Не могу нагуглить, может ищу не правильно.
на продукт нужно добавить отношение
firstImage(){
    return $this->hasOne(Images::class)->oldest();
}

Всё что остается - обратится к нему
Product::visible()
           ->with('firstImage')
источник

M

Max in Laravel Pro
Alex
на продукт нужно добавить отношение
firstImage(){
    return $this->hasOne(Images::class)->oldest();
}

Всё что остается - обратится к нему
Product::visible()
           ->with('firstImage')
Работает, но не совсем верно, возвращает первую картинку, но только для первого элемента в выборке
источник

M

Max in Laravel Pro
странно
источник

ІК

Ігор Куцан in Laravel Pro
Alexander Pavlenko 🌚
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ /$1/$2/$3.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]
в первых рядах где !-f - значит что если не файл то перейти в файл.
RewriteRule ^([^/]+)/$ $1.php
дальше проверка на то что если есть еще какая то дичь то перейти в каталог этой дичи и там файл
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
дальше по аналогии.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
Это значит что если не файл и не каталог и в роуте какая то хрень не от одного до 5 символов то нужно сделать 301 редирект из адреса ^(.*[^/])$ по адресу /$1/


Дальше смотрит на включен https и делает переадресацию

как то так
источник

A

Alex in Laravel Pro
а если просто так протестить?
Product::with('firstImage')->get()
источник

M

Max in Laravel Pro
Alex
а если просто так протестить?
Product::with('firstImage')->get()
тоже самое, последующие элементы без картинок
источник

A

Alex in Laravel Pro
Max
тоже самое, последующие элементы без картинок
Там же у вас hasOne прописано. не hasMany, верно?
источник

M

Max in Laravel Pro
продукт имеет несколько картинок, has many
источник

A

Alex in Laravel Pro
но мы то получаем одну первую
источник

A

Alex in Laravel Pro
я ж написал return $this->hasOne(Images::class)->oldest();
источник

M

Max in Laravel Pro
Alex
я ж написал return $this->hasOne(Images::class)->oldest();
Всё верно, мой косяк, теперь как надо работает, благодарю.
источник

A

Alex in Laravel Pro
👍
источник

M

Max in Laravel Pro
Получается, отношений несколько может быть, не знал
источник