Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Почитайте создание пакета для Laravel
Ну, во-первых, $results в конце нужно переинициировать, во-вторых, неа, не пашет
Упустил
Странно, но у меня работало и работает, для примера кусок
<?php
class Orders extends Eloquent
{
public $timestamps = false;
// ...........
public static function all($status = null)
{
$input = Input::all();
$queries = Input::get('queries', []);
$sorts = Input::get('sorts', []);
$key = null;
if (!empty($sorts))
{
$key = key($sorts);
}
$sort = !empty($key) ? $key : 'date_created';
$order = !empty($sorts) && $sorts[$key] == '-1' ? 'asc' : 'desc';
$page = !empty($input['page']) ? (int) $input['page'] : 1;
$rows = !empty($input['perPage']) ? (int) $input['perPage'] : 10;
$offset = !empty($input['offset']) ? (int) $input['offset'] : 0;
$records = array();
$q = self::query();
$q->where('id_user', Auth::user()->id);
if (!empty($queries['statusf']) && $queries['statusf'] > 0 && $queries['statusf'] < 5)
{
$q->where('status', $queries['statusf']);
}
$count = $q->count();
$q->orderBy($sort, $order);
$q->skip(($page - 1) * $rows);
$q->take($rows);
$orders = $q->get();
// ..........
попробуйте, думаю что решить можно http://laravel.com/docs/4.2/eloquent#basic-usage
а у вас не работает?
так наверное будет правильней
$data = Iconomy::order_by('iconomy.id', 'desc')
->join('table as u1', 'iconomy.id', '=', 'u1.id')
->get(array('iconomy.title', 'iconomy.id as id_iconomy', 'u1.id'));
Поменяйте в Ларе, в моделе
К примеру
class Iconomy extends Eloquent {
protected $primaryKey = 'custom_id';
}
или так попробовать
$data = Iconomy::order_by('i.id', 'desc')
->join('table as u1', 'i.id', '=', 'u1.id')
->get(array('i.title', 'i.id as id_iconomy', 'u1.id'));
А для чего вам DB::raw()? Какие то сложные выборки?
Как вариант попробуйте, не проверял.
public function search()
{
$data = Input::all();
$validator = Validator::make($data, Search::rules(), Search::errors());
if ($validator->fails())
{
return Redirect::back()->withErrors($validator)->withInput();
}
else
{
$q = Objects::query();
$q->whereActive(1);
if (!empty($data['id']))
{
$q->whereId($data['id']);
}
else
{
$dat_exactly = ['location_id', 'case_type', 'type_id', 'currency', 'area'];
$dat_min_max = ['price', 'area', 'rooms'];
foreach ($dat_exactly as $value)
{
if (!empty($data[$value]))
{
$q->where($value, $data[$value]);
}
}
foreach ($dat_min_max as $value)
{
if (!empty($data['min_' . $value]))
{
$q->where($value, '>=', $data['min_' . $value]);
}
if (!empty($data['max_' . $value]))
{
$q->where($value, '<=', $data['max_' . $value]);
}
}
}
}
return View::make('pages.search', ['results' => $results]);
}
Вася зашел в магазин и не вернулся. Магия!!! Вот стаю уже два часа и не могу понять, в чём проблема?
Ну а теперь серьёзно . Попробуйте включить отладку
'debug' => true,
вы увидите сразу ответы на свой вопрос (в каком файле, в какой строке и.т.д), так как
$this->points->where('city', 'like', "$find_cities");
ни о чём не говорит, разве что визуально можно поправить на
$this->points->where('city', 'LIKE', '%'.$find_cities.'%');
Johnson пишет:Что за пакет Intervention/image? Никто не использовал? Вроде поддержка Laravel есть, также еще к нему можно прикрутить Intervention/imagecache для работы с кешем.
вот рабочий код
if ($image = Input::file('photo'))
{
$filename = str_random(6) . '.' . $image->getClientOriginalExtension();
$path = public_path('/uploads/' . $filename);
$resizedImage = Image::make($image->getRealPath())->resize(200, 200);
$resizedImage->response('jpg');
Storage::put('uploads/' . $filename, $resizedImage);
}
Зачем всё усложнять? Для чего вы получаете переменную $path, если её не используете?
Ну и если уже пошли путём Intervention Image, так продолжайте:
код
$resizedImage = Image::make($image->getRealPath())->resize(200, 200);
продолжаем
Image::make($image->getRealPath())->resize(200, 200)->save($path,80);
вопрос так и не раскрыт, увы
Посмотрите здесь http://www.codetutorial.io/laravel-5-fi … -download/
У меня L5 не установленная, так-что проверить не могу.
Artdevue пишет:а как сохранять изображения использую Storage
там свой инструмент есть
// open an image file
$img = Image::make('public/foo.jpg');
// resize image instance
$img->resize(320, 240);
// insert a watermark
$img->insert('public/watermark.png');
// save image in desired format
$img->save('public/bar.jpg');
установил, всё есть ресайз http://image.intervention.io/api/resize и.т.д
так-же, https://github.com/laravel/laravel/blob … se.php#L55 , добавьте вторую (третью ... ) базу. К примеру
'foo' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge2'),
'username' => env('DB_USERNAME', 'forge2'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
и затем https://laravel.ru/docs/v5/database#другие.
Я не пойму, документация для кого?
Приведу код с L3, поправил запрос под L5, но не проверял
$query = mb_strtolower(Request::input('search'), 'UTF-8');
$tmp = explode(" ", $query);
$query = [];
foreach ($tmp as $word)
{
$len = mb_strlen($word, 'UTF-8');
switch (true)
{
case ($len > 3 && $len <= 6):
{
$query[] = mb_substr($word, 0, -1, 'UTF-8') . "*";
break;
}
case ($len > 6 && $len <= 9):
{
$query[] = mb_substr($word, 0, -2, 'UTF-8') . "*";
break;
}
case ($len > 9):
{
$query[] = mb_substr($word, 0, -3, 'UTF-8') . "*";
break;
}
default:
{
break;
}
}
}
$query = array_unique($query, SORT_STRING);
$qQeury = implode(" ", $query);
// Ваша табличка для поиска (у меня просто таблица отдельно созданна для поисчка и при добавлении ремурсов, я весь обработанный текс забиваю в эту таблицу, можно напрямую искать)
$results = Search::whereRaw(
"MATCH(text,pagetitle) AGAINST(? IN BOOLEAN MODE)", // text,pagetitle - поля, по которым нужно искать
array($qQeury)
)->paginate(20, array('keys','pagetitle','url', 'text')); // поля, которые нужно вывести
попробуйте закоментить https://github.com/laravel/laravel/blob … el.php#L18 18 и 20 строки (CSRF)
Этим вы вообще "отрубите" сесии и CSRF не только для API, а для всей системы.
Наиболее лучший способ, это расширить классы в Middleware (https://github.com/laravel/laravel/tree … Middleware) и поставить собственную логику обработки API.
Я бы основной домен перенаправлял на www, тогда бы срабатывало правило одно для всех.
1) сессии - https://github.com/laravel/laravel/blob … n.php#L138 добавить
'domain' => '.site.lan',
2) роутер, если мы указали сессию, то и воспользуемся этой переменной
Route::group(['domain' => '{domain}' . Config::get('session.domain')], function ()
Для четвёртой версии, может поможет
http://stackoverflow.com/questions/2581 … view-cache
или
https://gist.github.com/cjonstrup/8228165
Попробуйте поменять приоритет
$q1 = DB::table('...')
...
->union($q2)
->orderBy(..., ...)
->paginate(10);
Я все "левые" классы кидаю в папку app/libs, добавив в авто загрузку эту директорию.
Всё, с любого места
NP::send($xml);
novaposhta()ua/description_api