『壹』 Laravel5.2中Eloquent ORM的模糊搜索語法怎麼寫
舉例來說,一個 User model 會有一個 Bed Model。我們可以在 Eloquent 定義這些關系。
#定義一個 1對1關系
<?php
class User extends Eloquent {
public function bed()
{
return $this->hasOne('Bed');
}
}
傳入 hasOne()方法的第一個參數是關連 model 的名稱。一旦關連被建立,我們便可以使用 Eloquent 的動態屬性取得關連 model。
<?php
$bed = User::find(1)->bed;
實際執行的SQL語句如下:
SELECT * FROM users WHERE id = 1
SELECT * FROM beds WHERE user_id = 1
這邊要留意的是,Eloquent 會假定關連的外鍵是基於 model 的名稱,以這個例子來說,Bed model 會假設 user_id為外鍵。
belongs_to 會在宣告的model中建立外鍵,而has_one會將外鍵放在另外關連的Modle中。
#定義反向關連
使用 belongsTo()方法去定義 Bed model 的反向關連:
<?php
class Bed extends Eloquent {
public function user()
{
return $this->belongsTo('User');
}
}
在上面這個例子中,Eloquent 會根據 bed table 里的 user_id 欄位當做外鍵。如果您想要自行定義不同的欄位當外鍵,可以在 belongsTo()方法傳入第二個參數:
<?php
class Phone extends Eloquent {
public function user()
{
return $this->belongsTo('User', 'local_key');
}
}
總結:想要在宣告的model中要有外鍵用belongs_to ,讓這個model要去參照別人,如果想外鍵在別的model,讓別人來參照這個model,則使用 has_one。
『貳』 使用Laravel5.3中的Scout,默認搜索是algolia,對中文的支持好嗎
Laravel5.3中的Scout,默認搜索是algolia,對分詞不好,直接搜索中文的話不會自己切詞,只會包含搜索的詞會出現
『叄』 怎樣實現laravel既有搜索也有分頁
#app/config/view.php
'pagination' => 'my_pagination'
#app/views/my_pagination.php
<?php
$presenter = new Illuminate\Pagination\BootstrapPresenter($paginator);
?>
<?php if ($paginator->getLastPage() > 1): ?>
<div class="pagination">
<ul>
<?php
/* How many pages need to be shown before and after the current page */
$showBeforeAndAfter = 3;
/* Current Page */
$currentPage = $paginator->getCurrentPage();
$lastPage = $paginator->getLastPage();
/* Check if the pages before and after the current really exist */
$start = $currentPage - $showBeforeAndAfter;
/*
Check if first page in pagination goes below 1, and substract that from
$showBeforeAndAfter var so the pagination won't start with page 0 or below
*/
if($start < 1){
$diff = $start - 1;
$start = $currentPage - ($showBeforeAndAfter + $diff);
}
$end = $currentPage + $showBeforeAndAfter;
if($end > $lastPage){
$diff = $end - $lastPage;
$end = $end - $diff;
}
echo $presenter->getPrevious('< Previous');
echo $presenter->getPageRange($start, $end);
echo $presenter->getNext('Next >');
?>
</ul>
</div>
<?php endif; ?>
『肆』 laravel框架內多條件都能搜索一條數據的搜索怎麼寫 請大神指導
請,你可以這么試試看
$result= DB::select('select id from users where username=? and password=?', ['haha','xixi']);
這種是同時滿足!
如果你想 OR的關系專
$result = DB::select('select * from users where active = ? OR online = ?', [1,2]);
希望對你有幫屬助!~~
『伍』 laravel弄的網站需要把頁面靜態化,讓搜索引擎更容易收錄嗎
看網站的定位吧抄,靜態和偽靜態差別不大,個人建議靜態。處理收錄問題,要結合具體的情況,包括網站框架的搭建,網站頁面的內鏈布局,外鏈的覆蓋等。 偽靜態適合網站動態的內容,以及搜索頁面等需要使用服務端語言程序實現某些功能的頁面。 只要...
『陸』 求國內好的laravel進階視頻教程,講到laravel實戰注入等高級內容,要有干貨的!
Coding10吧,循序漸進,視頻質量都挺好的