• Как сделать ограничение просмотра записей для (не друзей)?

    fomenko_alexandr,
    а что за тема у тебя в phpstorm-e?

    Стандартная темная darkula.

    большое спасибо! все работает! а не подскажите где прочитать про разницу friends() и friends не могу найти именно про эту разницу ничего

    Касательно разницы в friends() и friends, в данном конкретном случае разницы никакой толком нет, так как нет аргументов у функции friends, можно записать и так и так(т.е опустить скобки), но мне все же привычнее при обращении указывать именно со скобками, так не путаешься, где у нас метод, а где переменная.

    Но допустим если несколько модифицировать код который у нас написан, можно сделать вот такую запись:
    // Пример с доп параметром
      public function friends($user_id = null)  //Добавляем опциональный аргумент
      {
      // записываем сперва в переменную
        $result = $this->belongsToMany(
          'App/User',
          'friends', 
          'friend_one_id ', 
          'friend_two_id ',
          )->withTimestamps(); 
      // проверяем на наличие опционального аргумента и выводим
       return ($user_id <> null ) ? $result->where('friend_two_id', $user_id): $result;
      }


    И в таком случае можно записать наш пример как
    $data = \Auth::user()->friends(1)
  • Как сделать ограничение просмотра записей для (не друзей)?

    AlpineMilk, в своем модели пишешь что-то типа такого

    // Создается в модели User(как пример)
        //Получаем список всех друзей конкретного пользователя
    	public function friends()
    	{
    		return $this->belongsToMany(
    			'App/User', //Имя модели, к которой мы подключаемся, альтернативно можно записать как User::class
    			'friends', // промежуточная таблица в которой у нас храняться соотношения
    			'friend_one_id ', // Имя первого ключевого поля, по нему мы выбираем только для данного юзера
    			'friend_two_id ' // Второе ключевое поле, по нему мы потом будем делать отбор
    			)->withTimestamps(); // указываем, что нас могут интересовать даты создания и обновления(если нужно)
    	}
    
    	// Обратная операция.
    	public function hasFriendsFor()
    	{
    		
    		return $this->belongsToMany(
    			'App/User',
    			'friends',
    			'friend_two_id ',
    			'friend_one_id '
    		)->withTimestamps();
    	}

    Запрос осуществляется примерно так:
    $data = \Auth::user()->friends()->where('friend_two_id', $checked_user_id);
    if(!$data->count()){ 
    print 'Он нам не друг'; 
    }
  • Как сделать ограничение просмотра записей для (не друзей)?

    AlpineMilk, если я правильно понял ваш задачу, то вам нужно прочитать про отношения https://laravel.com/docs/5.5/eloquent-relationships, и конкретно реализацию через Pivot таблицы. Ваша задача это вариант One-to-Many ( Один ко многим).
    В данном случае вам необходимо запросить всех пользователей, которые являются друзьями, friend_one_id. Затем выполняете условие выборки через where c friend_two_id.

    Если необходимо могу привести кусок кода для большей наглядности