Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Александр Амплеев

  • 1
    вклад
  • 89
    вопросов
  • 10
    ответов
  • 80%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как выполнить такой sql запрос в laravel 5.3?

    Александр Амплеев @Ampleev Автор вопроса
    <?php
    
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Support\Facades\DB;
    
    class Place extends Model
    {
        protected $table = 'places';
        protected $fillable = ['type_id', 'name'];
    
        public function type()
        {
            return $this->belongsTo('App\TypePlace');
        }
    
        public function mediaItems()
        {
            return $this->hasMany('App\MediaItem');
        }
    
        public function likes()
        {
            return $this->morphMany(Like::class, 'likeable');
        }
    
        public function getCountLikesAttribute()
        {
            return Like::where([
                'likeable_id' => $this->id,
                'likeable_type' => 'App\Place',
                'like' => 1,
            ])->count();
        }
    
        public function getCountDislikesAttribute()
        {
            return Like::where([
                'likeable_id' => $this->id,
                'likeable_type' => 'App\Place',
                'like' => -1,
            ])->count();
        }
    
        public function getRatingAttribute()
        {
            $result = DB::table('likes')
                ->join('media_items', 'likes.likeable_id', '=', 'media_items.id')
                ->join('places', 'media_items.place_id', '=', 'places.id')
                ->select('like')
                ->where(['media_items.place_id' => $this->id, 'likes.likeable_type' => 'App\MediaItem'])
                ->get();
    
            return $result->sum('like') + $this->selfRating;
        }
    
        public function getSelfRatingAttribute()
        {
    
            $result = DB::table('likes')
                ->select('like')
                ->where(['likes.likeable_id' => $this->id, 'likes.likeable_type' => 'App\Place'])
                ->get();
    
            return $result->sum('like');
    
        }
    
    }


    class PlaceController extends Controller
    {
    
        public function show_places()
        {
            $places = Place::with(['type', 'likes', 'mediaItems'])->get();
            $sorted = $places->sortByDesc('rating');
            $places = $sorted->values()->all();
    
            return view('index', compact('places'));
        }}


    <?php
    
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    use App\NewTime;
    
    class MediaItem extends Model
    {
        protected $table = 'media_items';
    
        public static function createMediaItem($request)
        {
            $mediaItem = new MediaItem();
    
            $extention_file = $request->file('path')->extension();
    
            if ($extention_file == 'jpeg'
                || $extention_file == 'png'
            ) {
    
                $mediaItem->type = 1;
    
            } elseif ($extention_file == 'mp4'
                || $extention_file == 'mov'
                || $extention_file == 'qt'
            ) {
    
                $mediaItem->type = 2;
    
            } else {
    
                $mediaItem->type = 3;
    
            }
    
            $mediaItem->place_id = $request->place_id;
    
            $fileName = $request->file('path')->store('images', 'public');
            $fileName = substr($fileName, 7);
    
            $url = '/storage/images/' . $fileName;
    
    
            $mediaItem->path = $url;
            $mediaItem->save();
    
            return $mediaItem->place_id;
        }
    
        function getTypeOfMediaAttribute()
        {
            switch ($this->type) {
                case 1:
                    return 'фото';
    
                case 2:
                    return 'видео';
    
                default:
                    return 'не определено';
    
            }
        }
    
        function getCreatedAtNiceAttribute()
        {
            return NewTime::new_time(strtotime($this->created_at));
        }
    
        function getUpdatedAtNiceAttribute()
        {
            return NewTime::new_time(strtotime($this->updated_at));
        }
    
        public function getCountLikesAttribute()
        {
            return Like::where([
                'likeable_id' => $this->id,
                'likeable_type' => 'App\MediaItem',
                'like' => 1,
            ])->count();
        }
    
        public function getCountDislikesAttribute()
        {
            return Like::where([
                'likeable_id' => $this->id,
                'likeable_type' => 'App\MediaItem',
                'like' => -1,
            ])->count();
        }
    
        public function getRatingAttribute()
        {
            return 123;
        }
    
        public function place()
        {
            return $this->belongsTo('App\Place');
        }
    
        public function likes()
        {
            return $this->morphMany(Like::class, 'likeable');
        }
    }


    <?php
    
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Like extends Model
    {
        protected $guarded = [];
        protected $table = 'likes';
    }
    Написано более трёх лет назад
  • Как выполнить такой sql запрос в laravel 5.3?

    Александр Амплеев @Ampleev Автор вопроса
    5c6b8787bf5ec390463968.png5c6b87ad7a67b686365102.png5c6b87d73e5a7583458330.png5c6b87f08c49a551555514.png
    Написано более трёх лет назад
  • Почему не работает пример jquery DataTables (фиксированные заголовки в таблице)?

    Александр Амплеев @Ampleev Автор вопроса
    разметка - полная копия как в примере:
    5b862a575f447993477023.png
    Написано более трёх лет назад
  • Почему не работает пример jquery DataTables (фиксированные заголовки в таблице)?

    Александр Амплеев @Ampleev Автор вопроса
    slo_nik, обновился до той что стоит в примере, проблема осталась (
    Написано более трёх лет назад
  • Как во вью использовать подвью в Yii2?

    Александр Амплеев @Ampleev Автор вопроса
    да, тут я бы добавил еще инфу о том что путь указывается относительно папки, в которой располагается вьюха на которой применяется подвью. Поэтому в разных местах будет разный путь
    Написано более трёх лет назад
  • Как через API Facebook опубликовать запись на стене группы?

    Александр Амплеев @Ampleev Автор вопроса
    Думаю можно и за 15 баксов, только чуть позже..
    Написано более трёх лет назад
  • Как через API Facebook опубликовать запись на стене группы?

    Александр Амплеев @Ampleev Автор вопроса
    itservice, не поделитесь? Мне кажется это решило бы мою проблему тоже..
    Написано более трёх лет назад
  • Как через API Facebook опубликовать запись на стене группы?

    Александр Амплеев @Ampleev Автор вопроса
    Что-то предприняли? У меня приложение на проверке с 23 июня и никаких ответов.. Интересно сколько они могут отвечать по времени
    Написано более трёх лет назад
  • Почему в safari не отображается favicon?

    Александр Амплеев @Ampleev Автор вопроса
    нет, проблема именно в иконке, которая в строке url браузера

    5b3371b826c8d678501092.png

    - у меня на этом месте заглушка стоит почему-то для моего сайта
    Написано более трёх лет назад
  • Почему в safari не отображается favicon?

    Александр Амплеев @Ampleev Автор вопроса
    Максим Тимофеев страницу генерит yii-фреймворк. Вы здесь модератор?
    Написано более трёх лет назад
  • Почему wall.post перестает работать через какое-то время?

    Александр Амплеев @Ampleev Автор вопроса
    не полностью, решение может быть из yii
    Написано более трёх лет назад
  • Как через API Facebook опубликовать запись на стене группы?

    Александр Амплеев @Ampleev Автор вопроса
    Дмитрий Евграфович, ну эти права можно запросить.. но с другой стороны у них плохо переведено в инструкциях по-моему и не совсем понятно - в этом проблема или нет..
    Написано более трёх лет назад
  • Как через API Facebook опубликовать запись на стене группы?

    Александр Амплеев @Ampleev
    А сейчас как с этим дела? Работает у вас?
    Написано более трёх лет назад
  • Почему wall.post перестает работать через какое-то время?

    Александр Амплеев @Ampleev Автор вопроса
    Максим Тимофеев, я пишу на yii2 и может кто-то подскажет работающее решение на нем как вариант один из возможных
    Написано более трёх лет назад
  • Почему wall.post перестает работать через какое-то время?

    Александр Амплеев @Ampleev Автор вопроса
    давайте на другом языке, я не против.. проблема в том что код отдается не в ответе, а в новом урле уже на стороне вк и оттуда его забрать не представляю как с бекенда..
    Написано более трёх лет назад
  • Почему wall.post перестает работать через какое-то время?

    Александр Амплеев @Ampleev Автор вопроса
    upd: повторно токен не выдается на этот же код, только что попробывал.. что тогда делать вообще не понятно
    Написано более трёх лет назад
  • Как понять почему не приходят данные в POST?

    Александр Амплеев @Ampleev Автор вопроса
    отыскался form вложенный в form
    Написано более трёх лет назад
  • Почему в POST не приходят данные на сервер yii2?

    Александр Амплеев @Ampleev Автор вопроса
    У меня снова такая же проблема.. Но теперь точно все ок с конфигами.

    Контроллер:
    public function actionSaveImage()
        {
    
            
            return json_encode($_POST);
         
    
        }


    Вьюха:

    <form id="myForm">
                                            <input id="typeID" type="hidden" name="typeID" value="<?= Yii::$app->params['imageTypeCommentIssue'] ?>">
                                            <input id="myFiles" name="myFiles" type="file" size="1"">
                                        </form>


    JS:

    $('#myFiles').change(function (e) {
     var formData = new FormData($('#myForm')[0]);
    var url =[actionUrl];
    
    $.ajax({
            type: 'post',
            url: url,
            data: formData,
            cache: false,
            contentType: false,
            processData: false,
            xhr: function () {
                var xhr = $.ajaxSettings.xhr(); // получаем объект XMLHttpRequest
                xhr.upload.addEventListener('progress', function (evt) { // добавляем обработчик события progress (onprogress)
                    if (evt.lengthComputable) { // если известно количество байт
                        // высчитываем процент загруженного
                        var percentComplete = Math.ceil(evt.loaded / evt.total * 100);
                        // устанавливаем значение в атрибут value тега <progress>
                        // и это же значение альтернативным текстом для браузеров, не поддерживающих <progress>
                        // progressBar.val(percentComplete).text('Загружено ' + percentComplete + '%');
    
                        console.log('percentComplete: ', percentComplete);
                        $("#progressBar_1").css({
                            "width": percentComplete + "%",
                        });
                    }
                }, false);
                return xhr;
            },
            success: function (data) {
                console.log('success');
    
                data = JSON.parse(data);
                console.log(data);
    
            
            }
    
        });


    возвращается опять пустой массив..
    Написано более трёх лет назад
  • Почему в POST не приходят данные на сервер yii2?

    Александр Амплеев @Ampleev Автор вопроса
    не понимаю, я загружал совсем маленькие файлы и на этом же сервере загружаются в другом месте кода файлы правда не аяксом.. ок, проверю чуть позже
    Написано более трёх лет назад
  • Как настроить отправку почту через sendgrid на yii2?

    Александр Амплеев @Ampleev Автор вопроса
    Модератор, так у меня вроде бы так и было, + еще был тег php..
    Написано более трёх лет назад
  • ← Предыдущие
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • Следующие →
Самые активные сегодня
  • dimonchik2013
    Dimonchik
    • 6 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 4 ответа
    • 0 вопросов
  • Роман Безруков
    • 4 ответа
    • 0 вопросов
  • MVV
    • 4 ответа
    • 0 вопросов
  • Mike_Ro
    Михаил Р.
    • 4 ответа
    • 0 вопросов
  • Rsa97
    Rsa97
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации