2017-08-01 29 views
-1

我有一個表名爲advertises,我想以隨機順序獲得該表的行,每次只取1。我知道它可以使用查詢來完成的控制器是這樣的:以laravel DB行的條件

$advertises = Advertise::inRandomOrder()->take(1); 

但我真正想問的是如何才能讓查詢,以顯示這在某些地方像咱們說我的文章的第二段?

這裏是WordPress一個例子,將做到這一點,但我需要知道是否有可能在laravel做的好不好:

<?php 

//Insert ads after second paragraph of single post content. 

add_filter('the_content', 'prefix_insert_post_ads'); 

function prefix_insert_post_ads($content) { 

    $ad_code = '<div>Ads code goes here</div>'; 

    if (is_single() && ! is_admin()) { 
     return prefix_insert_after_paragraph($ad_code, 2, $content); 
    } 

    return $content; 
} 

// Parent Function that makes the magic happen 

function prefix_insert_after_paragraph($insertion, $paragraph_id, $content) { 
    $closing_p = '</p>'; 
    $paragraphs = explode($closing_p, $content); 
    foreach ($paragraphs as $index => $paragraph) { 

     if (trim($paragraph)) { 
      $paragraphs[$index] .= $closing_p; 
     } 

     if ($paragraph_id == $index + 1) { 
      $paragraphs[$index] .= $insertion; 
     } 
    } 

    return implode('', $paragraphs); 
} 

單個帖子的觀點:

<div class="col-md-12 col-sm-12"> 
          <div class="single-blog blog-details two-column"> 
           <div class="post-thumb"> 
            <img src="{{ url('images/') }}/{{ $post->image }}" class="img-responsive" style="width:100%; height:auto; max-height:500px;" alt="{{ $post->title }}"> 
            <div class="post-overlay"> 
             <span class="uppercase"><a href="#">{{$post->created_at->format('d')}} <br><small>{{$post->created_at->format('M')}}</small></a></span> 
            </div> 

           </div> 
           <div class="post-content overflow"> 
            <div class="bodytext">{!! $post->body !!}</div> 
            <div class="post-bottom overflow"> 
             @role('Admin') 
             {!! Form::open(['method' => 'DELETE', 'route' => ['posts.destroy', $post->id] ]) !!} 
             @can('Edit Post') 
             <a href="{{ route('posts.edit', $post->id) }}" class="btn btn-info" role="button">Edit</a> 
             @endcan 
             @can('Delete Post') 
             {!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!} 
             @endcan 
             {!! Form::close() !!} 
             @endrole 
             @role('Editor') 
             {!! Form::open(['method' => 'DELETE', 'route' => ['posts.destroy', $post->id] ]) !!} 
             <a href="{{ url()->previous() }}" class="btn btn-primary">Back</a> 
             @can('Edit Post') 
             <a href="{{ route('posts.edit', $post->id) }}" class="btn btn-info" role="button">Edit</a> 
             @endcan 
             @can('Delete Post') 
             {!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!} 
             @endcan 
             {!! Form::close() !!} 
             @endrole 
             <h3>Share this article:</h3> 
             <div class="sharethis-inline-share-buttons"></div> 
            </div> 
            <div class="author-profile padding"> 
             <div class="row"> 
              <div class="col-sm-2"> 
               <img src="images/blogdetails/1.png" alt=""> 
              </div> 
              <div class="col-sm-10"> 
               <h3>Rodrix Hasel</h3> 
               <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi</p> 
               <span>Website:<a href="www.jooomshaper.com"> www.jooomshaper.com</a></span> 
              </div> 
             </div> 
            </div> 
            <div class="response-area"> 
            <h2 class="bold">Comments</h2> 
           </div><!--/Response-area--> 
           @include('parts/comments') 
           </div> 
          </div> 
         </div> 
+0

我Laravel你使用的意見,只是插入李ke正常的html。如果我正確地理解了你,你想在網站的同一個地方展示一個廣告,但它應該是一個隨機廣告,對吧? –

+0

@UlrikMcArdle是的。 –

+0

請你張貼你的刀片模板文件。 –

回答

0

這樣的事情(不testet,應該可能會修改一點:

<script> 
    $(document).ready(function(){ 
     $.get('/widget/random-advertisement', function(data){ 
      $('<div class="advertisement">'+data+'</div>').insertAfter('#your-post p'); 
     }, 'html'); 
    }); 
</script> 
+0

我沒有得到這部分'/部件/隨機廣告'這是什麼? –

+0

這就是你的URL,爲路徑文件(<5.4 routes.php ||> 5.4 routes/web.php)創建一個端點,並返回廣告的完全渲染視圖。 –