Php 如何使用Yii2查询生成器获取数据
我在尝试什么 我有2个表职员和工资明细,我想取职员姓名和相应的工资Php 如何使用Yii2查询生成器获取数据,php,mysql,yii2,yii2-basic-app,Php,Mysql,Yii2,Yii2 Basic App,我在尝试什么 我有2个表职员和工资明细,我想取职员姓名和相应的工资 $salaries = SalaryDetails::find()->select('salary_details.total_salary AS salary,staff.name AS name') ->leftJoin("staff",'salary_details.staff_id = staff.id');
$salaries = SalaryDetails::find()->select('salary_details.total_salary AS salary,staff.name AS name')
->leftJoin("staff",'salary_details.staff_id = staff.id');
if ($fcreated_date != null && $tcreated_date != null) {
$salaries->andFilterWhere(['>=','salary_details.salary_given_date', $fcreated_date]);
$salaries->andFilterWhere(['<=', 'salary_details.salary_given_date', $tcreated_date]);
}
我从salary\u details
中选择了salary\u details
作为salary
,staff
作为name
作为salary\u details
左侧加入staff
关于salary\u details.staff\u id=staff.id
这个查询在phpMyadmin中提供了我想要的数据
但是数组给出了ie,print\r($salaries);给予
yii\db\ActiveQuery对象([sql]=>[on]=>[joinWith]=>[select]=>数组([0]=>salary\u details.total\u salary AS salary[1]=>staff.name AS name)[selectOption]=>[distinct]=>[from]=>[groupBy]=>[join]=>数组([0]=>数组([0]=>LEFT-join[1]=>staff[2]=>salary\u details.staff\u id=>staff.id))[having]=>[union]=>[params]=>Array()[\u事件:yii\base\Component:private]=>Array()[\u行为:yii\base\Component:private]=>Array()[where]=>[limit]=>[offset]=>[orderBy]=>[indexBy]=>[modelsclass]=>common\models\SalaryDetails[with]=>[asArray]=>[multiple]=>[primaryModel]=>[primaryModel]=>[link]=>[via]=>[inverseOf]=>]
谢谢,正如您在
打印中所看到的,$salaries
是一个ActiveQuery
实例。对其调用方法asArray()->all()
,以获取记录
$query = SalaryDetails::find()
->select('salary_details.total_salary AS salary,staff.name AS name')
->leftJoin("staff",'salary_details.staff_id = staff.id');
if ($fcreated_date != null && $tcreated_date != null) {
$query->andFilterWhere(['>=','salary_details.salary_given_date', $fcreated_date]);
$query->andFilterWhere(['<=', 'salary_details.salary_given_date', $tcreated_date]);
}
$salaries = $query->asArray()->all();
$query=SalaryDetails::find()
->选择('salary\u details.total\u salary AS salary,staff.name AS name')
->leftJoin(“staff”,“salary_details.staff_id=staff.id”);
如果($fcreated_date!=null&&$tcreated_date!=null){
$query->andFilterWhere(['>=','salary\u details.salary\u given\u date',$fcreated\u date]);
$query->andFilterWhere(['
$query = SalaryDetails::find()
->select('salary_details.total_salary AS salary,staff.name AS name')
->leftJoin("staff",'salary_details.staff_id = staff.id');
if ($fcreated_date != null && $tcreated_date != null) {
$query->andFilterWhere(['>=','salary_details.salary_given_date', $fcreated_date]);
$query->andFilterWhere(['<=', 'salary_details.salary_given_date', $tcreated_date]);
}
$salaries = $query->asArray()->all();