Php 如何在Laravel中执行where查询?
我正在尝试在Laravel中执行一个Php 如何在Laravel中执行where查询?,php,mysql,laravel,Php,Mysql,Laravel,我正在尝试在Laravel中执行一个查询,其中查询。我要匹配的值是来自数据库表的值,如:“a,b,c,d” 我想选择上面这个字符串中包含名称的所有用户。 因此,我取字符串并分解它以创建一个数组,然后将该数组添加到Laravel命令中。问题是,它只返回一个仅与字母“a”匹配的用户,例如,它会停止 控制器代码: public function returnEorti(){ $month = Input::get('month'); $day = Input::get('day');
查询,其中
查询。我要匹配的值是来自数据库表的值,如:“a,b,c,d”
我想选择上面这个字符串中包含名称的所有用户。
因此,我取字符串并分解它以创建一个数组,然后将该数组添加到Laravel命令中。问题是,它只返回一个仅与字母“a”匹配的用户,例如,它会停止
控制器代码:
public function returnEorti(){
$month = Input::get('month');
$day = Input::get('day');
$eorti = DB::select("select text from days where day='$day' and month='$month'");
$eortiFinal = explode(",", $eorti[0]->text);
$pelatis = Pelatis::whereIn('Onoma', $eortiFinal)->get();
return json_encode($pelatis);
}
ajax:
$.ajax({
type:"GET",
url:"getEorti",
data:{"day":d[2],"month":d[1]},
success:function(data){
var b = jQuery.parseJSON(data)
for(var i=0;i<Object.keys(b).length;i++){
$( "#test" ).append( b[i].Onoma+'</br>' );
}
console.log(data);
}
});
“Pelates”表:
p_id
小野马
修饰语
小野马螨
小野马
根尼希梅罗米尼亚
蒂列福诺·奥伊基亚斯
基尼托·蒂列福诺
迪夫钦西
迪莫斯
花被
Periferiaki_Enotita
埃帕格尔马
电子邮件查询
DB
中存在语法错误
$eorti=DB::select(“从天中选择文本,其中天为“$day”,月为“$month”)代码>
应更正为
eorti = DB::table('days')->whereDay($day)->whereMonth($month)->get();
$EORTIFILAL
中的实际值是多少?您希望匹配哪些Pelatis
db行?这不完全是一个Pelatis是客户的表…$EORTIFILAL是一个数组,它有我前面提到的“a,b,c,d”,但由“,”分隔符分解。是的,我意识到Pelatis是一个表,表中有哪些行?有一行叫做“Onoma”,我想将$EORTIFALINAL中的字符串与'Onoma'进行比较,以选择我想要的客户。这是$eorti[0]->文本
确切地说是“a、b、c、d”?不,不幸的是它没有帮助。。。问题是,查询只返回与字符串中第一个元素匹配的用户,而忽略其余的用户。例如:我有两个名为“Maria”、“Panagiotis”的用户。当查询开始时,它获取日期,并找到具有该天名称的字符串。。。。例如,找到的字符串是'Maria','Panagiotis','Marios'。返回的用户仅为“Maria”您是否尝试仅返回$pelatis
或$pelatis->toJson()
而不是json_encode($pelatis)?如果答案对您有效,请将其作为答案接受,以便将来对其他人有所帮助。
eorti = DB::table('days')->whereDay($day)->whereMonth($month)->get();