title: Laravel define default layout from controller in good way
body: <p>I googled two hours, but not found answer. Maybe you can help.  </p>
  
  <p>When I define in <strong>MyController</strong>:</p>
  
  <pre><code>class MyController extends Base_Controller {
      public $layout = 'layouts.default';
  
      public function get_index() {
          $entries = Entry::all();
          return View::make('entries.index')
              -&gt;with('entries', $entries);
          }
      }
  }
  </code></pre>
  
  <p>In <strong>entries\index.blade.php</strong>:</p>
  
  <pre><code>@section('content')
      &lt;h1&gt;Test&lt;/h1&gt;
  @endsection
  </code></pre>
  
  <p>And in <strong>layouts\default.blade.php</strong>:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;body&gt;
      @yield('content')
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Nothing is displaying. And I don't understand why. When I am replacing in <strong>MyController</strong> return part with:</p>
  
  <pre><code>$this-&gt;layout-&gt;nest('content', 'entries.index', array(
      'entries' =&gt; $entries
  ));
  </code></pre>
  
  <p>Then all is working, but.. It looks not clean and I don't like it. When adding in every view <code>@layout('layouts.default')</code> all is working good too, but it is not DRY. For example, in RoR I don't need to do such things in Controller.</p>
  
  <p>How can define in <code>MyController</code> one layout and use <code>return View::make</code> (I think that this is right way) or how can do it better?</p>