These are chat archives for LaravelRUS/chat

21st
Jul 2018
nday
@arx-nday
Jul 21 2018 05:27
поздно пить боржоми :) просто снес сервер и поставил все заново, видимо где-то проморгал какой-то из необходимых модулей при обновлении до 7.1
Taras Khomko
@TarasKhomko
Jul 21 2018 13:10
class Category extends \Baum\Node
{
    protected $table = 'categories';
    protected $fillable = [ 'parent_id', 'name','slug'  ];
    public function getParentCategory(){
        return $this->belongsTo(self::class, 'parent_id');
    }
    public function products()
    {
        return $this->hasMany(Product::class);
    }
    public function getRouteKeyName()
    {
        return 'slug';
    }
class Product extends Model
{
        protected $table = 'products';
        protected $fillable = [  'name','slug', 'category_id', 'price'  ];
        public function category(){
        return $this->belongsTo(Category::class,'category_id','id');
    }
}
не работает в чем может быть причина?
class ClientProductController extends Controller
{
    public function indexCategory(Category $slug)
    {
        $categories = Category::all();
       $products = $slug->products(); // не работает
       return view('client.productscategory', ['products' =>$products,'categories' =>$categories]);
    }
}
Andrey Kushnarev
@andku83
Jul 21 2018 13:26
Не работает и молчит? Или что-то говорит?
Посмотрите на вардамп $slug в контроллере.
Taras Khomko
@TarasKhomko
Jul 21 2018 14:02

@andku83 var_dump возвращаєт массив:

attributes: array:9 [▼

"id" => 1
"parent_id" => null
"lft" => 1
"rgt" => 2
"depth" => 0
"name" => "nostrum"
"slug" => "deleniti-enim-ex-officiis-temporibus-laudantium-tempora"
"created_at" => "2018-07-20 14:32:04"
"updated_at" => "2018-07-20 14:32:04"

]

Andrey Kushnarev
@andku83
Jul 21 2018 14:17
Насколько я знаю, чтобы получать связи там должен быть объект
JhaoDa
@jhaoda
Jul 21 2018 14:27
@TarasKhomko пора уже закопать etrepat/baum
Taras Khomko
@TarasKhomko
Jul 21 2018 14:33
@andku83 возвращает объект
Category {#573 ▼
  #table: "categories"
  #fillable: array:3 [▶]
  #parentColumn: "parent_id"
  #leftColumn: "lft"
  #rightColumn: "rgt"
  #depthColumn: "depth"
  #orderColumn: null
  #slug: null
  #guarded: array:6 [▶]
  #scoped: []
  #connection: "mysql"
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:9 [▶]
  #original: array:9 [▶]
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
}
@jhaoda а что можно использовать?
E.Wolf
@wolf-alone
Jul 21 2018 16:19
Коллеги, доброго времени суток!
Подскажите пожалуйста, при доступе к объекту из сервис-контейнера через фасад, он всегда будет возвращать один и тот же класс? (т.е. "синглтон")
Andrey
@daaner
Jul 21 2018 19:45
@wolf-alone будет каждый раз один и тот же запрос
Если тебе нужно во вьюшке синглтон, я бы сделал через вью композер
E.Wolf
@wolf-alone
Jul 21 2018 19:56
@Daaner у меня скорее проблема в обратном, я его использую в контроллере и при каждом обращении к фасаду (через фасад) - он возвращает мне один и тот же класс (один экземпляр). При этом, если обращаться к через App::make() - возвращаются разные экземпляры класса, как и ожидалось.
Taras Khomko
@TarasKhomko
Jul 21 2018 19:59
No.
E.Wolf
@wolf-alone
Jul 21 2018 20:00
Коллеги, и ещё подскажите пожалуйста, что это за синтаксис и где о нём почитать, нашел в исходниках Laravel: return $this->$method(...$parameters); Что означает многоточие в данном случае?
Kirill Nesmeyanov
@SerafimArts
Jul 21 2018 20:50
@wolf-alone пробовал документацию по PHP почитать?))))
E.Wolf
@wolf-alone
Jul 21 2018 21:06
@SerafimArts да, но почему не нашел там многоточий... можно ссылку на соотв. док?
@SerafimArts нашел, Не там искал видимо... Спасибо!
JhaoDa
@jhaoda
Jul 21 2018 22:04
@wolf-alone фасад кэширует объект, с которым работает
E.Wolf
@wolf-alone
Jul 21 2018 22:29
@jhaoda а есть какой-то способ работать с объектом в обход кэша? То есть, получать новый объект при каждом обращении
JhaoDa
@jhaoda
Jul 21 2018 22:30
@wolf-alone не использовать фасад
E.Wolf
@wolf-alone
Jul 21 2018 22:33
@jhaoda понял, спасибо