@ru_laravel

Страница 22 из 39
Алексей
04.02.2017
13:40:49
Скину ссылку.

https://laravel.ru/forum/viewtopic.php?pid=11162#p11162

:)

Sergey
05.02.2017
06:51:40
https://laravel.ru/forum/viewtopic.php?pid=11162#p11162
compact('carmake') вот эту строчку в методе show в контроллере, замени на ['carnaker' => $carmaker, 'carmodels' => $carmodels]

Google
Алексей
05.02.2017
06:53:03
Сейчас попробую. Вчера до этого сам дошел, но в другом виде записал:

return view('carmakes.show', compact('carmake'), compact('carmodel'));

Sergey
05.02.2017
06:53:27
Второй вариант установить связи между моделями, и в вид передать толькл carmaker как ты и делаешь, а через него получить его марки, что то типа maker->models

Это если ты eloquent orm используешь

И этот вариант проще и правильнее наверно в ларавеле испольщовать

Алексей
05.02.2017
06:54:46
Ну да, я так делал в рельсах, там это как-то очевиднее работало.

А тут тупой вопрос, совсем простая задача и решить не могу. :(

Связи установлены.

если про belongsto

речь.

и про hasmane

hasmany

Sergey
05.02.2017
06:55:48
Функция compact('что-то') создает массив ['что-то': $что-то]

Google
Sergey
05.02.2017
06:56:04
Да, про эти связи

Как называется метод hasMany в котором ты используешь?

Алексей
05.02.2017
06:57:47
<?php namespace App; use Illuminate\Database\Eloquent\Model; class CarModel extends Model { protected $guarded = ['id']; public function carmake() { return $this->belongsTo('App\CarMake'); } }

<?php namespace App; use Illuminate\Database\Eloquent\Model; class CarMake extends Model { protected $fillable = ['Make']; // public function carmodels() { return $this->hasMany('App\CarModel'); } }

Sergey
05.02.2017
06:59:31
$carmake = CarMake::whereid($id)->firstOrFail(); dd($carmake->carmodels);

Вот так сделай в show

В контролоере

Должен будешь увидить модели

Алексей
05.02.2017
07:01:32
Collection {#184 ▼ #items: [] }

Там пусто, в принципе, понятно почему, в таблице тоже пусто.

Sergey
05.02.2017
07:02:16
Заполнить надо и потестить

И ввиде их также можно получить потом

Что то типа @forEach($carmake->models as model) model['field']

Алексей
05.02.2017
07:04:55
Collection {#188 ▼ #items: array:1 [▼ 0 => CarModel {#189 ▼ #guarded: array:1 [▶] #connection: null #table: null #primaryKey: "id" #keyType: "int" #perPage: 15 +incrementing: true +timestamps: true #attributes: array:7 [▼ "id" => 1 "car_make_id" => 3 "model" => "Camry" "wash_group" => 3 "tire_group" => 0 "created_at" => "2017-02-05 10:03:31" "updated_at" => "2017-02-05 10:03:32" ] #original: array:7 [▶] #relations: [] #hidden: [] #visible: [] #appends: [] #fillable: [] #dates: [] #dateFormat: null #casts: [] #touches: [] #observables: [] #with: [] +exists: true +wasRecentlyCreated: false } ] }

Так.

Дело сдвинулось с мертвой точки.

Из этого массива я создам табличку, где будут модельки.

Осталось понять, как форму приделать на эту же страницу. :)

Массив - там же уже существующие.

Action App\Http\Controllers\CarModelsController@create not defined. (View: /var/www/moyka.deralsem.ru/resources/views/carmakes/show.blade.php)

Google
Алексей
05.02.2017
07:07:03
И вообще, сейчас оно ругается вот на что:

class CarModelsController extends Controller { // public function newComment(CommentFormRequest $request) // { // $comment = new Comment(array( // 'post_id' => $request->get('post_id'), // 'content' => $request->get('content') // )); // // $comment->save(); // // return redirect()->back()->with('status', 'Your comment has been created!'); // } public function Create(CarModelFormRequest $request) { $carmodel = new CarModel (array( 'car_make_id' => $request->get('car_make_id'), 'model' => $request->get('model') )); $carmodel->save(); return redirect()->back()->with('status', 'Модель добавлена!'); }

Блин.

А он есть.

http://stackoverflow.com/questions/25170538/laravel-form-actions-leads-to-undefined-route

Вот это вчера нашел.

Может помочь?

Sergey
05.02.2017
07:13:47
Я для себя все маршруты делаю именнованые, если использую в нескольких местах ссылку на него, с помощью функции route()

Это поможет проще с ссылка работами

А форму можно просто вставить туда через blade и сделать ее в отдельнос файле

Или просто написать

Алексей
05.02.2017
07:18:35
Да форма из трех полей состоит и кнопки сохранить.

Смысл отдельно её делать.

Значит надо попробовать именованный роут

После этого дальше буду думать.

Спасибо.

А там в нем нужно айди марки указывать?

По уму - нужно, чтобы из урл брался айди марки. Или нет?

Sergey
05.02.2017
07:20:30
При создании нет

При редактировании нужнр

Google
Sergey
05.02.2017
07:20:47
И при удалении нужен

Алексей
05.02.2017
07:43:58
Спасибо, буду пробовать

root
07.02.2017
16:30:38
Всем ку ребята! Подскажите в миграциях можно указать при ограничении внешнего ключа ON DELETE SET NULL?

onDelete('set null')

Alexander
09.02.2017
17:26:17
@Agel_Nash привет! :)

Евгений
09.02.2017
17:26:33
@bobrovskikh привет

root
09.02.2017
17:39:56
Всем ку! Ребята подскажите советом или более правильным решением задачи. При загрузке панели управления, нужно загружать разные шаблоны для обычных пользователей и администраторов. Есть таблицы "Пользователи", "Роли" и связаная таблица "Роли Пользователей". В контроллере идет проверка $role = Auth::user()->role и отправляется в шаблон. В шаблоне @if($role == "user") один шаблон @else другой шаблон. Это правильное решение или же нужно как то по другому это делать?

Timur
09.02.2017
17:40:03
Привет!

root
09.02.2017
17:48:09
Привет!
И тебе не болеть!

Timur
09.02.2017
17:48:15
?

uonick
09.02.2017
21:09:27
Здрасьте)

Scronheim
10.02.2017
04:48:58
здарова всем)

сори :) проверял как перенос строки тут работает)) if ($role == "user") { return view (user.user); }else{ }

это в контроллере

Scronheim
10.02.2017
06:36:35
Evgeny
10.02.2017
06:36:54
или view("{$role->template}.user")

Scronheim
10.02.2017
06:38:07
проблема я так понимаю была в том, что он пытался делать if в шаблоне?

Google
Scronheim
10.02.2017
08:21:52
но велосипеды писать интересней)
конечно))куда ж без них

Дмитрий
10.02.2017
08:33:25
Доброго времени суток. Я только начинаю изучать Laravel. Создал страничку с зачами(по мануалу) и решил немного поэкспериментировать. Перенес обработку запросов в контроллер(Route::get('/tasks'), 'TaskController@index');....) Потом хотел сделать проверку запроса формы. Создал request(php artisan make:request StoreTaskRequest) В файле StoreTaskRequest описал метод rules, messages. В контроллере изменил параметр функции store, теперь там "StoreTaskRequest $request". При попытке сохранить данные в базу(при вызове метода store) возникает ошибка: Class App\Http\Controllers\StoreTaskRequest does not exist

В документации сказано, что нужно только создать request и указать тип запроса в методе контроллера

uonick
10.02.2017
08:35:11
у тебя в use ничего не указано (класс реквеста)

Дмитрий
10.02.2017
08:41:01
Примерно понял. С этими use и неймспейсами у меня совсем плохо. Если я правильно понимаю, мне нужно добавить: use App\Http\Requests\StoreTaskRequest ?

uonick
10.02.2017
08:41:22
Наверно проще добавить и проверить =)

Ты же обращаешься из одного неймспейса в другой

класс ищет его в этом а это неверно

Страница 22 из 39