В настоящее время я разрабатываю приложение для компании по производству фильмов Indy. То, как у меня есть рабочий процесс прямо сейчас, пользователь начинает с создания нового объекта фильма, введя название фильма и синопсис. Затем пользователь может добавить дополнительные данные, такие как цена, время выполнения, полноэкранный/широкоэкранный режим и т. Д. Основные сведения о фильме (название, резюме) находятся в одной таблице базы данных, а детали находятся в другом. Я установил взаимно однозначное соотношение между двумя красноречивыми моделями. Я также создал MovieController, который позволяет мне очень легко выполнять операции CRUD в базовой модели фильма, и когда я показываю объект фильма для пользователя, я могу отображать как основы, так и детали.Laravel - Использование функции контроллера для двух разных красноречивых моделей
Что мне было интересно, был ли какой-то способ использовать уже существующие функции в контроллере видео, чтобы выполнять операции CRUD в деталях фильма без необходимости создавать новые функции в контроллере? Также можно повторно использовать представления, созданные мной для каждой соответствующей операции CRUD? Другими словами, я могу хотел
something.dev/cms/create
В одном случае, чтобы соответствовать созданию нового фильма (название, синопсис) и в другом случае в соответствии с созданием деталей фильма (цена, время выполнения, полный -экран/широкоэкранный) и т. д. Возможно ли это? У меня есть предоставить код для двух моделей ниже:
Movie_basic.php
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Movie_basic extends Model {
protected $fillable = ['movie_title', 'movie_synopsis'];
protected $guarded = ['id'];
public function details()
{
return $this->hasOne('App\Movie_detail', 'movie_id');
}
public function personnel()
{
return $this->hasMany('App\Movie_personnel', 'movie_id');
}
}
Model_detail.php
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class Movie_detail extends Model {
protected $fillable = ['minutes', 'languages', 'viewer_discretion', 'screen_type', 'price'];
protected $guarded = ['id', 'movie_id'];
public function basics()
{
return $this->belongsTo('App\Movie_basic');
}
}
Если им читать это право в основном вы хотите создать новый _service_ и зарегистрировать его в качестве зависимости для различных контроллеров. http://laravel.com/docs/5.1/container –