我有2个名为Books and Reviews的表.Books表与Reviews有一对多的关系.
我想搜索书籍并按评论排序.
例如,如果有10本书可用且书籍已在评论中进行审核,那么我想通过使用WHERE子句查找所有书籍并计算评论,然后根据评论编号订购所有书籍.
我的SQL查询如下:
Books::find()
->where([
'and',
['like', 'books.bookName', $bookName],
['like', 'books.status', 'Enabled']
])
->joinWith(['reviews' => function ($q){
$q->select(['COUNT(*) as cnt']);
}])
->orderBy(['cnt' => 'DESC'])
->all();
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误消息:
SQLSTATE [42S22]:未找到列:1054'order子句'中的未知列'cnt'
我在这里错过了什么?
我正在使用一个称为成员的单独表来保留注册信息。我正在使用wp_hash_password($ password)存储密码。
但是,当我想使用wp_signon()登录时,它将发送0作为响应。我检查了wp-includes / user.php来找到有关wp_signon()的详细信息,发现它使用user_login和user_password作为那里的表列名称。
在我的成员表中,我有member_username和member_password。
如何使用members表使其可行?
仅供参考,我正在使用wp_users表登录仪表板,但对于用户端,我正在使用wp_members存储所有成员信息。
谢谢
我想在3组中的Active Record查询之后划分(使用括号).第一组将从第一个"Where"子句到最后一个"orWhere".第二和第三将使用"andWhere".
请给我一些关于如何使用括号分隔所有3个部分的建议.
$query = Book::find()
->where('book_name LIKE :book_name', array(':book_name' =>
'%'.$book_name.'%'))
->orWhere('book_category LIKE :book_category', array(':book_category' =>'%'.$category.'%'))
->orWhere('finance_subcategory LIKE :finance', array(':finance' => '%'.$category.'%'))
->orWhere('insurance_subcategory LIKE :insurance', array(':insurance' => '%'.$category.'%'))
->andWhere('address LIKE :address', array(':address' => '%'.$address.'%'))
->andWhere('status =:status', array(':status' => 'Enabled'))
->orderBy('book_id');
Run Code Online (Sandbox Code Playgroud) 我想在基于Yii 2模型的验证消息中添加自定义链接.
我目前正在使用以下代码块 -
public function rules()
{
return [
['email', 'required'],
['email', 'email'],
['email', 'unique', 'targetClass' => '\common\models\User',
'message' => 'Email address has already been taken.'],
];
}
Run Code Online (Sandbox Code Playgroud)
我希望此消息显示如下 -
" 已经收到电子邮件地址.已经注册了?然后登录这里."
我怎样才能做到这一点?
我曾尝试使用PHPExcel库来读取excel文件并显示文件中的数据.但它不适合我.
我也尝试过使用yii2-phpexcel扩展以及其他一些方法,但没有任何方法可以帮助我.我希望我能得到专家人员的帮助.
我在CakePHP中使用PHPExcel从excel读取数据,但我不知道如何在Yii 2中使代码可行.如何在Yii2中加载PHPExcel?我正在使用XLSX.在CakePHP中,我可以使用 -
App::import('Vendor', 'Excel/reader');
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read(WWW_ROOT . 'uploads/' . $_FILES["filename"]["name"]);
$cells = $data->sheets[0]['cells'];
Run Code Online (Sandbox Code Playgroud)
提前致谢.